TaiwanStar Developer
|
404ba69fba
|
chore: 修改 APP 圖示與顯示名稱為 StarCloud
|
2026-06-09 16:58:11 +08:00 |
|
TaiwanStar Developer
|
8e4a0993c7
|
style: 優化首頁購物按鈕樣式與文字,並新增 logo 資源
- 優化首頁 (activity_home.xml) 的購物按鈕 (startButton) 樣式:
1. 寬度由 0dp 改為固定寬度 400dp。
2. 按鈕文字由「購物去」調整為「開始購物」。
3. 背景與文字顏色改為套用主題色系 (@color/primary 與 @color/onPrimary)。
- 新增星雲 LOGO 圓形圖示資源 (starcloud_logo_circle.png)。
|
2026-06-09 16:46:11 +08:00 |
|
TaiwanStar Developer
|
4d7717edc3
|
style: 優化後台貨道清單介面佈局與狀態顯示
- 狀態辨識度提升:
1. 貨道編號新增「貨道」前綴字樣。
2. 販售與停售狀態加入顏色識別,文字與 Switch 顏色會根據狀態動態切換(成功色/警告色)。
- 佈局與操作體驗優化:
1. 重新排列操作區塊,將「清空貨道」按鈕移至卡片最下方。
2. 放大庫存加減按鈕的觸控範圍(高度調整為 60dp)與字體大小,提升機台觸控體驗。
3. 「清空貨道」按鈕改用 warning 警示色系。
- 視覺微調:移除卡片外框線,使列表視覺更為乾淨。
|
2026-06-09 16:14:36 +08:00 |
|
TaiwanStar Developer
|
b1732987ce
|
feat: 優化商品搜尋介面並修復後台貨道編輯 Bug
- 商品搜尋介面大改版:
1. 搜尋列表從單欄改為 3 欄網格排列,並導入 MaterialCardView 重新設計商品卡片。
2. 搜尋框體驗優化:隱藏原生圖示,新增清空按鈕;支援點擊列表或候選字時自動收起鍵盤。
3. 點擊候選字邏輯修改為直接套用完整字詞。
4. 擴大點擊範圍,改為點擊整張商品卡片即可選取。
- 貨道編輯清單修復:
1. 將 textCount 隱藏狀態改為 INVISIBLE 解決 GONE 導致輸入框寬度壓縮為 0 的問題。
2. 輸入數量時改用 numberPassword 並移除密碼遮罩,以喚起乾淨的純數字鍵盤。
- 資源與樣式:
1. 新增 button_outline_black.xml 黑框按鈕樣式。
2. 修正圖片檔名大小寫 (eTicket -> eticket)。
|
2026-06-09 15:59:36 +08:00 |
|
TaiwanStar Developer
|
d917f6445c
|
style(ui): 將出貨頁面標題改為灰色背景與黑色文字
|
2026-06-08 15:33:34 +08:00 |
|
TaiwanStar Developer
|
d1bf7d18ce
|
style: 調整出貨清單 UI 的文字顏色與出貨中狀態格式
- 將商品名稱、順序(槽位號)與已出貨數量資訊的文字顏色改為黑色(@color/black)
- 將出貨中狀態的格式「出貨中(1)」改為「出貨中(1件)」
|
2026-06-08 14:34:26 +08:00 |
|
TaiwanStar Developer
|
f2ed393686
|
style(ui): 優化出貨進度對話框結構、版面自適應與配色調整
- 頁面標題改為「出貨進度」,背景調整為主色 (primary)
- 新增並更新多國語言字串 (processing, dispatch_progress)
- 重構底部的當前出貨進度區塊結構,移除冗餘嵌套,將區塊背景設為 cardSurface
- 取消按鈕樣式改為 warning/onWarning 配色,扁平化結構並去除冗餘 FrameLayout
- 清單區域高度改為 weight=1 自適應剩餘空間,移除 Space 元件,背景改為 background 色
|
2026-06-08 13:59:32 +08:00 |
|
TaiwanStar Developer
|
907d5095d5
|
style: 重構員工卡支付對話框佈局並更新身分證/員工卡相關圖檔資源
|
2026-06-08 11:54:15 +08:00 |
|
TaiwanStar Developer
|
28a3d623f0
|
feat: 新增支付管道與接受付款類型相關圖片資源
|
2026-06-08 09:53:40 +08:00 |
|
TaiwanStar Developer
|
2e71cc29b8
|
feat: 修改 VMC 貨道清單之未配置商品圖示、卡片背景色與一鍵補貨按鈕配色
|
2026-06-05 17:24:37 +08:00 |
|
TaiwanStar Developer
|
8f6b5217d6
|
feat(ui): 貨道停售中狀態時在商品圖片上方顯示透明黑色遮罩
|
2026-06-05 16:19:51 +08:00 |
|
TaiwanStar Developer
|
5d9c5ba5cf
|
style(ui): 調整貨道管理儲存與一鍵補貨按鈕配色,並將 Switch 選中狀態設為 primary 色
|
2026-06-05 16:18:26 +08:00 |
|
TaiwanStar Developer
|
a933bb22f6
|
feat(ui): 改造貨道管理列表為卡片式 Grid 佈局與 Adapter 邏輯對接
|
2026-06-05 16:16:27 +08:00 |
|
TaiwanStar Developer
|
aed8d9bc1f
|
style(ui): 依據參考介面調整貨道管理版面
調整項目:
1. 頂部區域:保留「貨道管理」標題,省略機櫃選擇與命名的部分。
2. 列表區域:將 recyclerSlotList 改為 Grid 網格排版,設定 spanCount 為 3。
3. 底部區域:省略批量匯出、批量匯入按鈕。將「返回」與「清空」按鈕設為隱藏以維持程式碼 ViewBinding 相容性。
4. 儲存按鈕:原「上傳後台並返回」按鈕文字修改為「儲存」,並維持原有點擊與同步邏輯。
|
2026-06-05 15:40:36 +08:00 |
|
TaiwanStar Developer
|
54e0c9ffa5
|
style(ui): 調整廣告區域容器比例至 21:9 與等比例縮放
1. 將廣告區域容器比例從 16:9 調整為 21:9
2. 設定影片播放器屬性為 app:resize_mode=zoom
3. 設定廣告圖片屬性為 android:scaleType=centerCrop
|
2026-06-04 16:28:34 +08:00 |
|
TaiwanStar Developer
|
02ae6623d9
|
style(ui): 調整前端首頁資訊排版與背景色
1. 將版本號與 TC/VC 移至最底部釘選
2. 頂部資訊順序改為「時間 | 溫度 | 網路」,文字改為 @color/gray
3. 上下區塊背景改為 @color/light_gray,文字改為 @color/gray
4. 頁面背景及商品卡片區域背景改為 @color/background
|
2026-06-04 15:41:56 +08:00 |
|
TaiwanStar Developer
|
12e61d2a10
|
feat(ui): 替換 VMC 購買清單為新版佈局並調適 Adapter
1. 替換 recycler_vmc_buy_list.xml 為新版 CardView 結構,微調定位使 textPrice 相容舊版價格邏輯
2. 將貨道 textSlot 移至左上角,大小設為 18sp,顏色改用 primary/onPrimary 語意色
3. 將庫存 textStock 獨立定位於右下角,大小設為 18sp,顏色改用 gray/black 資源
4. 修改 RecyclerVmcBuyListAdpter 綁定庫存數量,並將貨道文字調整為「貨道value」無補零格式
|
2026-06-04 15:24:22 +08:00 |
|
TaiwanStar Developer
|
c7d75a8522
|
fix(layout): 移除佈局 XML 檔案的 UTF-8 BOM 檔頭
修復 DataBinding 元件在 Gradle 建置過程中因 XML 檔案包含 BOM (Byte Order Mark) 檔頭而解析失敗的問題。
原因:XML 檔頭的前導字元 EF BB BF 導致 LayoutFileParser 在解析 root 節點時發生 NullPointerException。
調整項目:- 批次移除 layout 目錄下所有 XML 佈局檔案的 UTF-8 BOM 檔頭。
|
2026-06-04 14:22:32 +08:00 |
|
TaiwanStar Developer
|
c7b8372dfc
|
style(ui): 簡化色彩系統設定與對齊佈局配置
|
2026-06-04 13:57:06 +08:00 |
|
sky121113
|
a5add7d8ae
|
RELEASE: 修正多商品取貨 UI 倒數閃跳與 3 分鐘閒置崩潰問題,發佈版本 65
|
2026-06-02 16:00:58 +08:00 |
|
sky121113
|
808b9c40d9
|
[FIX] 修正 OTA 連線超時與首頁執行緒併發競態導致 UI 異常問題
1. OtaManager.java: 將下載的連線逾時從 15 秒調高至 30 秒,讀取逾時調高至 120 秒,提升 OTA 下載穩定性。
2. FontendActivity.java: 修正多執行緒更新 UI 時,共用 logs 緩衝區所引發的競態條件 (Race Condition) 導致欄位變空的問題,改採區域變數更新;並安全封裝重構 reportOnScheduler 的生命週期管理方法;調整閒置逾時為 5 分鐘。
3. build.gradle: 依據實體機台 OTA 版號自動化規範,安全遞增 verPatch 修補版號至 56。
4. compiler-apk.md: 優化編譯工作流中的後台更新說明提示欄位。
|
2026-06-01 17:48:32 +08:00 |
|
sky121113
|
8768e95178
|
[FEAT] 優化 OTA 靜默安裝邏輯,支援降版本覆蓋安裝
1. 於 OtaManager.java 中執行 pm install 時新增 -d 參數,允許降級 (downgrade) 安裝,以因應測試與緊急回滾情境。
2. 遞增 app/build.gradle 中的修補版號 verPatch 至 38。
|
2026-05-29 17:20:41 +08:00 |
|
sky121113
|
2ea55b9fbb
|
[STYLE] 優化 CMUH 專屬佈局元件比例與樣式排版
1. 調整 Cmuh 專屬之 activity_fontend.xml 佈局,優化影片播放器比例與首頁容器 Constraint 限制。
2. 調整 fragment_vmc.xml 中掃描按鈕之 LinearLayout 屬性順序與排版樣式。
3. 遞增 app/build.gradle 的修補版號 verPatch 至 37 以配合發版需求。
|
2026-05-29 16:45:31 +08:00 |
|
sky121113
|
7b9b96ce66
|
[FEAT] 新增 CMUH 客製初始畫面跳轉與多處頁面重啟邏輯優化
1. 新增 AppEntry 工具類別,集中管理 Cmuh 專案判斷與動態初始 Activity 的獲取邏輯。
2. 於 HomeActivity 中新增 Cmuh 專案判斷,若為 CMUH 則直接導向至 FontendActivity 以跳過一般首頁。
3. 將 MainActivity、MqttService 與 FontendActivity 中的硬編碼 HomeActivity 導向重構為呼叫 AppEntry.initialActivity()。
4. 新增 Cmuh 專屬之 activity_fontend.xml 佈局檔案。
5. 遞增 app/build.gradle 中的修補版號 verPatch 至 35。
|
2026-05-29 15:15:24 +08:00 |
|
sky121113
|
6d1733dfa9
|
[RELEASE] 升級修補版號以準備中國醫發版
1. build.gradle: verPatch 33 -> 34
|
2026-05-29 14:37:27 +08:00 |
|
sky121113
|
4c9fb5e000
|
[FIX] 修正中國醫 (CMUH) 領藥異常處理與銷貨流水號關聯
1. build.gradle: 升級修補版號 verPatch 31 -> 33。
2. TransactionFinalizeBuilder.java: 新增 orderNo 欄位並提供 setter。預設 orderNo 同 flowId,若呼叫 setOrderNo 則於組建 OrderPayload 時覆寫 order_no。
3. DispatchDialog.java (CMUH):
- 中國醫 (Cmuh) 取物單 SN 序號改為覆寫 order_no,不再覆寫 flow_id、OrderId 與 ReportFlowId,避免機台底層流程因 ID 重複而拋錯。
- 修正領藥失敗的 Memo 寫入邏輯:機台未回應重試逾時,移除 insertDrgnoToMemo()。
- 整單出貨失敗結案時,檢查是否有任何出貨成功紀錄(新增 hasAnySuccessfulDispatch()),僅在有成功出貨時才寫入 Memo,整單未出貨時不寫入,允許使用者重新掃碼領藥。
|
2026-05-29 13:56:21 +08:00 |
|
sky121113
|
b2b6776665
|
[FIX] 實作半途出貨失敗的 MQTT Finalize 結案回報機制
1. 遞增 app/build.gradle 修補版本號為 1.31。
2. 於 TransactionFinalizePayload 新增 delivery_status 出貨狀態欄位(0=失敗, 1=成功, 2=部分失敗)。
3. 於 TransactionFinalizeBuilder 實作自動計算出貨狀態與建構回報的邏輯。
4. 於 DispatchDialog 實作 finalizeFailedDispatch 機制,當多筆商品出貨至半途失敗時,自動將剩餘未出貨的商品標記為失敗並上報 MQTT Finalize 結案。
|
2026-05-29 12:17:42 +08:00 |
|
sky121113
|
47acd44e61
|
[FIX] 整合中國醫功能優化、連續出貨修復與多國語系字串調整
1. 遞增 app/build.gradle 修補版本號為 1.30。
2. 優化 StarCloudAPI 登入追蹤日誌並調整日誌前綴。
3. 修正 DispatchDialog 出貨邏輯,移除單筆出貨防呆,恢復支援多筆連續出貨。
4. 新增與調整多國語系 strings.xml (繁中、英文、日文) 中國醫無庫存與未設定貨道的提示訊息。
|
2026-05-29 11:08:42 +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
|
984bbe722c
|
[FEAT] 主控台 UI 全面翻新 (Console UI Overhaul)
1. MainActivity.java:重構按鈕點擊邏輯,改用 Lambda 取代匿名 Runnable;新增 activeLoginDialog 追蹤機制,登入成功後自動關閉對話框並呼叫 updateLoginStatus();新增頂部登入/登出狀態按鈕 (btnStatusAction) 切換邏輯。
2. activity_main.xml:全面翻新 UI 佈局,導入卡片式分組選單、現代化 Header 區塊(含 Logo、版本號、機台狀態)、功能按鈕網格排版,以及底部版權列。
3. colors.xml:建立完整 Material 3 色彩系統,包含 primary/secondary/surface/background 色階,以及 success/warning/error/info 四種語意狀態色;調整 black 為深灰 (#272727)。
4. dimens.xml:新增 welcome 標題、Header Logo、選單按鈕圖示及間距等全套尺寸規格變數。
5. 新增三個 Drawable 資源:bg_button_primary.xml (主要按鈕樣式)、bg_button_outline.xml (外框按鈕樣式)、bg_input_modern.xml (現代化輸入框背景)。
6. 新增 values-sw720dp/dimens.xml:針對 720dp 以上大螢幕(10吋機台)的適配尺寸規格。
7. 新增主控台各功能示意圖資源(drawable/*.png):binding_machine、card_reader_checkout、card_reader_reboot、cargo_lane_management、product_list、reboot_app、sales_page、scanner_test、system_settings、taiwan_star_tech_logo、view_log_records、vending_machine_scenario_v1/v2。
8. app/build.gradle:verPatch 從 1 升至 6,對應本次多功能迭代開發。
9. dialog_admin_login.xml:新增獨立的管理員登入對話框佈局。
|
2026-05-27 17:15:07 +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
|
465125f614
|
[FIX] 修復整點閒置重啟時觸發兩次的問題
1. 於 HomeActivity.java 中引進 SharedPreferences 持久化機制,比對當前日期與時間 Slot(如 yyyy-MM-dd HH:mm),避免同一分鐘內或 App 被 kill 掉重啟後重複觸發 RestartAPP2 背景等待執行緒。
2. 於 FontendActivity.java 中同步套用 SharedPreferences 限制邏輯,確保在首頁或購物頁面皆能共享同個重啟記錄,防止發生 90 秒後二次重啟的 Bug。
|
2026-05-20 14:07:50 +08:00 |
|
sky121113
|
ee8143032a
|
[STYLE] 修正系統設定按鈕文字為安卓設定頁
1. 將 activity_main.xml 中的進入系統畫面按鈕(buttonOpenSystemSettings)之文字由「進入系統畫面」修改為「安卓設定頁」,以更精確描述其功能。
|
2026-05-20 13:44:16 +08:00 |
|
sky121113
|
422459a0c3
|
[FIX] 修復閒置逾時觸發與資源釋放問題,並修正介面字串
1. 於 AppCompatActivityAbstract 覆寫 onUserInteraction(),在使用者互動時主動更新最後互動時間。
2. 於 HomeActivity.onDestroy() 增加 reportOnScheduler 的生命週期管理,於銷毀時執行 shutdown() 以防止執行緒洩漏。
3. 於 FontendActivity 的閒置逾時機制中,增加開發者/主控台模式判定,若處於該模式則重設計時器、不返回待機頁。
4. 修改 strings.xml 中的 slave_machine_software 字串,由「結構設定APP」修正為「下位機設定」。
|
2026-05-20 11:30:39 +08:00 |
|
sky121113
|
d13546b379
|
[FIX] 優化點選商品之出貨口狀態判斷與防重複點擊機制
1. 重構 checkSlotHaveProduct 方法以支援安全回呼與 3000ms 超時保護。
2. 修正 DevCheckSlotByVMC 串口讀取未重置 haveThings 導致的狀態殘留 Bug。
3. 加入 isCheckingSlot 點選鎖,防呆避免非同步檢查期間重複點擊商品。
4. 於異常 AlertDialog 手動與自動關閉路徑中,正確釋放點選鎖。
5. 更新中英日三語系取貨口有物文字為「取貨口有東西,請先取出」,並將 Dialog 字體放大至 24sp。
6. 將 checkSlot 的串口讀取延遲由 2000ms 降至 800ms,大幅加速點選商品的反應時間。
|
2026-05-19 16:35:13 +08:00 |
|
sky121113
|
ab8b828aa2
|
[FIX] 優化貨道上傳流程與隱藏出貨完成後的取貨確認按鈕
1. 於 DispatchDialog.java 中隱藏出貨流程最後的「取貨確認」按鈕,改為僅以 15 秒倒數後自動關閉對話框,防範使用者干預流程。
2. 於 VmcSlotListActivity.java 調整貨道同步邏輯,在上傳成功後自動返回前一頁。
3. 於 VmcSlotListActivity.java 實作上傳失敗時的彈出對話框,提供「重新嘗試」與「直接返回」選項,防止因返回鍵隱藏而造成介面卡死。
4. 調整 activity_vmc_slot_list.xml 佈局,隱藏「返回」按鈕,並將儲存按鈕文字調整為「上傳後台並返回」。
5. 修改 MqttManager.java,將心跳包定時器初始化延遲設定為 10 秒,避免開機初始化期間發生資源競合。
|
2026-05-18 13:15:30 +08:00 |
|
sky121113
|
d68482a005
|
[REFACTOR] 關閉閒置 30 分鐘主動重啟機制以維持連線穩定
1. 註解掉 FontendActivity 中的閒置 30 分鐘重啟邏輯。
2. 改為僅依賴每 4 小時一次的定時重啟,優化 MQTT 連線紀錄的穩定性並減少頻繁斷線。
|
2026-05-16 18:16:54 +08:00 |
|
sky121113
|
65dd123d0c
|
[FEAT] 實作機器連線環境切換功能 (Demo vs 正式站)
1. 在 activity_setting.xml 新增環境切換單選鈕 (RadioGroup)。
2. 修改 SettingActivity.java 處理環境切換邏輯與 UI 初始化。
3. 修改 MachineStructure.java 新增 mqttEnv 欄位以儲存環境狀態。
4. 修改 MyApp.java 在啟動時從資料庫載入環境設定。
5. 修改 StarCloudAPI.java 使 API BASE_URL 根據環境設定動態切換。
6. 修改 MqttManager.java 使 MQTT Broker Host 根據環境設定動態切換。
7. 更新正式站 API (starcloud.taiwan-star.com.tw) 與 MQTT (emqx.taiwan-star.com.tw) 位址。
|
2026-05-15 12:55:15 +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
|
4105d33956
|
[STYLE] 修正銷售平台圖片廣告下方的間距問題
1. 將 activity_fontend.xml 中的 imageAd 元件高度由 wrap_content 改為 match_parent,使其強制填滿 16:9 廣告區域,消除與下方商品列表間的間距。
2. 移除 imageAd 中無效的 app:layout_constraintDimensionRatio="16:9" 屬性。
|
2026-05-14 12:42:18 +08:00 |
|
sky121113
|
45853d0b9d
|
[FEAT] 實作遠端更新商品指令與圖片顯示優化
1. 在 MqttService 中新增 update_products 指令處理,支援遠端觸發商品資料同步。
2. 優化 ImageGlide 邏輯,移除從網路載入圖片時的淡化濾鏡,確保圖片即時顯示原色。
3. 改進 ProductListActivity 的圖片預載機制,支援逐張商品即時刷新 UI 提升互動感。
4. 更新 .gitignore 以排除 .idea 目錄及 Agent 產生的規劃檔案。
5. 配合環境調整 Gradle 配置與 SDK 路徑。
|
2026-05-14 11:13:42 +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
|
93a9ad7e2d
|
[FIX] 優化 MQTT 遠端重啟邏輯與機台忙碌狀態判斷
1. 在 MyApp 實作 getBusyReason(),整合對話框、購物車、NFC 支付狀態,提供更精確的忙碌診斷資訊。
2. 重構 MqttService 遠端解鎖/重啟邏輯,使用新的忙碌檢查機制並記錄詳細拒絕原因。
3. 修正 HomeActivity 進入時強制清空購物車,確保逾時回首頁後機台能正確進入閒置狀態。
4. 更新 FontendActivity 重啟邏輯,改用 isMachineBusy() 提升穩定性。
5. 移除出貨對話框 (DispatchDialog) 的「異常回報」按鈕,簡化使用者介面。
6. 優化購物車 Adapter (Electric/VMC),確保遠端庫存更新時能即時同步 UI 點選狀態。
|
2026-05-12 16:41:52 +08:00 |
|
sky121113
|
ccab0905c6
|
[REFACTOR] 統一重啟邏輯安全防護與 MQTT 交易結案規格
1. 統一 MQTT 交易結案規格:移除 TransactionFinalizePayload 與 Builder 中的 remote_command_id 欄位,強制使用 code_id。
2. 強化定時重啟安全性:將 HomeActivity 與 FontendActivity 的重啟邏輯統一為「閒置 90 秒 + 無開啟對話框」才執行硬重啟。
3. 統一 12:00 重啟行為:將中午 12 點的軟重啟改為受保護的硬重啟,確保資源清理。
4. 加固遠端指令安全性:MqttService 收到 reboot 或 unlock 指令時,若偵測到有人操作(閒置 < 60 秒或對話框開啟)則回傳失敗 ACK,不執行重啟。
|
2026-05-12 14:57:26 +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
|
f5619e754e
|
[FIX] 攔截硬體 Enter 鍵防止誤觸並修正遠端出貨交易紀錄
1. 在 FontendActivity 中攔截購物畫面非預期的 Enter 鍵事件,防止讀卡機誤觸員工卡對話框。
2. 關閉 VMC 與 Electric 商品列表圖片的 focusable 屬性,杜絕硬體 Enter 鍵觸發點擊事件。
3. 修正 MqttService 中的遠端出貨邏輯,改用 TransactionFinalizeBuilder 走完整交易結案流程。
4. 確保遠端出貨時正確填充 BuyList 與 ReportFlowInfoData,使後台能產生完整的訂單紀錄。
5. 在 NFC 支付對話框取消時,確保呼叫 nfcPayController.shutdown() 釋放硬體資源。
|
2026-05-11 18:07:12 +08:00 |
|