From 422459a0c3d4adfd4a96ee3d49507b52a132a543 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Wed, 20 May 2026 11:30:39 +0800 Subject: [PATCH] =?UTF-8?q?[FIX]=20=E4=BF=AE=E5=BE=A9=E9=96=92=E7=BD=AE?= =?UTF-8?q?=E9=80=BE=E6=99=82=E8=A7=B8=E7=99=BC=E8=88=87=E8=B3=87=E6=BA=90?= =?UTF-8?q?=E9=87=8B=E6=94=BE=E5=95=8F=E9=A1=8C=EF=BC=8C=E4=B8=A6=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E4=BB=8B=E9=9D=A2=E5=AD=97=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 於 AppCompatActivityAbstract 覆寫 onUserInteraction(),在使用者互動時主動更新最後互動時間。 2. 於 HomeActivity.onDestroy() 增加 reportOnScheduler 的生命週期管理,於銷毀時執行 shutdown() 以防止執行緒洩漏。 3. 於 FontendActivity 的閒置逾時機制中,增加開發者/主控台模式判定,若處於該模式則重設計時器、不返回待機頁。 4. 修改 strings.xml 中的 slave_machine_software 字串,由「結構設定APP」修正為「下位機設定」。 --- .../com/unibuy/smartdevice/AppCompatActivityAbstract.java | 6 ++++++ app/src/main/java/com/unibuy/smartdevice/HomeActivity.java | 3 +++ .../java/com/unibuy/smartdevice/ui/FontendActivity.java | 6 ++++++ app/src/main/res/values/strings.xml | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/unibuy/smartdevice/AppCompatActivityAbstract.java b/app/src/main/java/com/unibuy/smartdevice/AppCompatActivityAbstract.java index 3cba1d0..cfb34bc 100644 --- a/app/src/main/java/com/unibuy/smartdevice/AppCompatActivityAbstract.java +++ b/app/src/main/java/com/unibuy/smartdevice/AppCompatActivityAbstract.java @@ -78,4 +78,10 @@ public abstract class AppCompatActivityAbstract extends AppCompatActivity { finish(); } } + + @Override + public void onUserInteraction() { + super.onUserInteraction(); + com.unibuy.smartdevice.MyApp.getInstance().updateLastInteraction(); + } } diff --git a/app/src/main/java/com/unibuy/smartdevice/HomeActivity.java b/app/src/main/java/com/unibuy/smartdevice/HomeActivity.java index b104fd1..ae3e2dd 100644 --- a/app/src/main/java/com/unibuy/smartdevice/HomeActivity.java +++ b/app/src/main/java/com/unibuy/smartdevice/HomeActivity.java @@ -614,6 +614,9 @@ public class HomeActivity extends AppCompatActivityAbstract { protected void onDestroy() { super.onDestroy(); stopOnSwitchFragment(); + if (reportOnScheduler != null) { + reportOnScheduler.shutdown(); + } // ✅ 取消註冊廣告更新監聽 try { unregisterReceiver(adUpdateReceiver); diff --git a/app/src/main/java/com/unibuy/smartdevice/ui/FontendActivity.java b/app/src/main/java/com/unibuy/smartdevice/ui/FontendActivity.java index 8e24357..4fd912a 100644 --- a/app/src/main/java/com/unibuy/smartdevice/ui/FontendActivity.java +++ b/app/src/main/java/com/unibuy/smartdevice/ui/FontendActivity.java @@ -483,6 +483,12 @@ public class FontendActivity extends AppCompatActivityAbstract { } idleRunnable = () -> { + // 🚩 若目前處於主控台/管理員模式,則忽略閒置返回待機頁的觸發,並重新計時 + if (!MyApp.getInstance().getSuAccess().isEmpty()) { + getLogs().info("ℹ️ 偵測到當前處於開發者/主控台模式,忽略閒置返回待機頁的觸發。"); + resetIdleTimer(); + return; + } getLogs().info("⚠️ 無操作 3 分鐘,自動返回首頁(清空購物車)"); MyApp.getInstance().getBuyList().clear(); // 🚩 逾時返回首頁時,務必清空購物車,避免機台進入永久忙碌狀態 Intent intent = new Intent(FontendActivity.this, HomeActivity.class); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7a83c6a..470811c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -142,7 +142,7 @@ 刷卡機結帳 刷卡機重啟 掃碼頭測試 - 結構設定APP + 下位機設定 下位機檢測 電控器檢測 其他測試