From 6d1733dfa918adfdfa9f54509fcab379bbf6f533 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Fri, 29 May 2026 14:37:27 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[RELEASE]=20=E5=8D=87=E7=B4=9A=E4=BF=AE?= =?UTF-8?q?=E8=A3=9C=E7=89=88=E8=99=9F=E4=BB=A5=E6=BA=96=E5=82=99=E4=B8=AD?= =?UTF-8?q?=E5=9C=8B=E9=86=AB=E7=99=BC=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. build.gradle: verPatch 33 -> 34 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 1d4925c..7f9cb59 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ plugins { // 避免不同尺寸機台間版本號產生衝突。 // ========================================================================= def verMinor = 1 -def verPatch = 33 +def verPatch = 34 android { From f3867dcb4b789f335747eb784a7dc2aa64795419 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Fri, 29 May 2026 14:42:11 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[DOCS]=20=E4=BF=AE=E6=AD=A3=20release-apk?= =?UTF-8?q?=20=E5=B7=A5=E4=BD=9C=E6=B5=81=E4=B8=AD=E5=AF=AB=E6=AD=BB=20S12?= =?UTF-8?q?XYU=20=E7=9A=84=E5=95=8F=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. release-apk.md: 調整為依據專案 Flavor (Cmuh) 動態判斷硬體變體 (S9XYU) 與對應的螢幕尺寸與路徑。 --- .agents/workflows/release-apk.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/.agents/workflows/release-apk.md b/.agents/workflows/release-apk.md index 074916a..2f91a70 100644 --- a/.agents/workflows/release-apk.md +++ b/.agents/workflows/release-apk.md @@ -42,10 +42,16 @@ if [ "$TARGET_FLAVOR" != "General" ] && [ "$TARGET_FLAVOR" != "Chengwai" ] && [ exit 1 fi -echo "📦 [Release] 開始編譯正式版變體: ${TARGET_FLAVOR}S12XYURelease" +# 根據專案 Flavor 判定硬體 Flavor(中國醫 Cmuh 使用 S9XYU,其餘使用 S12XYU) +HW_FLAVOR="S12XYU" +if [ "$TARGET_FLAVOR" = "Cmuh" ]; then + HW_FLAVOR="S9XYU" +fi + +echo "📦 [Release] 開始編譯正式版變體: ${TARGET_FLAVOR}${HW_FLAVOR}Release" # 使用 clean 確保完整重新編譯,避開 incremental 快取問題 -./gradlew clean :app:assemble${TARGET_FLAVOR}S12XYURelease --no-daemon +./gradlew clean :app:assemble${TARGET_FLAVOR}${HW_FLAVOR}Release --no-daemon ``` ## 步驟二:導出正式 APK 並產出後台 Keyin 派送參考資料 @@ -62,8 +68,13 @@ if [ -n "$1" ]; then TARGET_FLAVOR=$(echo "$1" | awk '{print toupper(substr($0,1,1))tolower(substr($0,2))}') fi +HW_FLAVOR="S12XYU" +if [ "$TARGET_FLAVOR" = "Cmuh" ]; then + HW_FLAVOR="S9XYU" +fi + # 動態尋找編譯產出的最新正式版 APK 檔案 -APK_SOURCE=$(find app/build/outputs/apk/${TARGET_FLAVOR}S12XYU/release/ -name "app-S_12_XY_U_${TARGET_FLAVOR}-*-release.apk" | head -n 1) +APK_SOURCE=$(find app/build/outputs/apk/${TARGET_FLAVOR}${HW_FLAVOR}/release/ -name "app-S_*_${TARGET_FLAVOR}-*-release.apk" | head -n 1) if [ -n "$APK_SOURCE" ]; then APK_NAME=$(basename "$APK_SOURCE") @@ -74,12 +85,19 @@ if [ -n "$APK_SOURCE" ]; then echo "==================================================" # 提取與計算版本資訊 - MAJOR=$(grep "def verMajor" app/build.gradle | awk '{print $4}') MINOR=$(grep "def verMinor" app/build.gradle | awk '{print $4}') PATCH=$(grep "def verPatch" app/build.gradle | awk '{print $4}') + + # 根據硬體規格決定 Major (S9XYU 為 21 吋,S12XYU 為 10 吋) + if [ "$HW_FLAVOR" = "S9XYU" ]; then + MAJOR=21 + else + MAJOR=10 + fi + VERSION_NAME="${MAJOR}_0${MINOR}_${PATCH}_R" VERSION_CODE=$((MAJOR * 10000 + MINOR * 100 + PATCH)) - FLAVOR="${TARGET_FLAVOR}S12XYU" + FLAVOR="${TARGET_FLAVOR}${HW_FLAVOR}" echo "🚀 實體販賣機 OTA 後台新增版本 Keyin 參考資料:" echo "--------------------------------------------------" From 7b9b96ce66573f9e5d134b037c3696f59ab9a6d8 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Fri, 29 May 2026 15:15:24 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[FEAT]=20=E6=96=B0=E5=A2=9E=20CMUH=20?= =?UTF-8?q?=E5=AE=A2=E8=A3=BD=E5=88=9D=E5=A7=8B=E7=95=AB=E9=9D=A2=E8=B7=B3?= =?UTF-8?q?=E8=BD=89=E8=88=87=E5=A4=9A=E8=99=95=E9=A0=81=E9=9D=A2=E9=87=8D?= =?UTF-8?q?=E5=95=9F=E9=82=8F=E8=BC=AF=E5=84=AA=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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。 --- app/build.gradle | 2 +- app/src/Cmuh/res/layout/activity_fontend.xml | 267 ++++++++++++++++++ .../java/com/unibuy/smartdevice/AppEntry.java | 16 ++ .../com/unibuy/smartdevice/HomeActivity.java | 10 +- .../com/unibuy/smartdevice/MainActivity.java | 2 +- .../smartdevice/service/MqttService.java | 10 +- .../smartdevice/ui/FontendActivity.java | 16 +- 7 files changed, 307 insertions(+), 16 deletions(-) create mode 100644 app/src/Cmuh/res/layout/activity_fontend.xml create mode 100644 app/src/main/java/com/unibuy/smartdevice/AppEntry.java diff --git a/app/build.gradle b/app/build.gradle index 7f9cb59..6376049 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ plugins { // 避免不同尺寸機台間版本號產生衝突。 // ========================================================================= def verMinor = 1 -def verPatch = 34 +def verPatch = 35 android { diff --git a/app/src/Cmuh/res/layout/activity_fontend.xml b/app/src/Cmuh/res/layout/activity_fontend.xml new file mode 100644 index 0000000..b4516b6 --- /dev/null +++ b/app/src/Cmuh/res/layout/activity_fontend.xml @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +