From 82023c98e5c30d36966b85c10c43a6cb11f67e2c Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期三, 14 一月 2026 11:16:22 +0800
Subject: [PATCH] 修复某些情况下选择蓝牙错乱问题

---
 app/src/main/java/com/shlb/comb/activity/HomeActivity.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/com/shlb/comb/activity/HomeActivity.java b/app/src/main/java/com/shlb/comb/activity/HomeActivity.java
index 02048a4..085e92b 100644
--- a/app/src/main/java/com/shlb/comb/activity/HomeActivity.java
+++ b/app/src/main/java/com/shlb/comb/activity/HomeActivity.java
@@ -36,6 +36,7 @@
     private DrawerLayout drawerLayout;
     protected TextView tv_scan;
     private long lastScanClickTime = 0; // 鐢ㄤ簬鑺傛祦
+    private boolean isSessionAdmin = false; // 褰撳墠浼氳瘽鏄惁宸查獙璇佺鐞嗗憳瀵嗙爜
 
     // Bluetooth Variables
     private BluetoothScanManager scanManager;
@@ -177,7 +178,6 @@
 
         // 楂樼骇璁剧疆
         View menuAdvancedSettings = findViewById(R.id.menu_advanced_settings);
-        menuAdvancedSettings.setVisibility(View.GONE);
         menuAdvancedSettings.setOnClickListener(v -> {
             drawerLayout.closeDrawer(GravityCompat.START);
             startActivity(new Intent(this, AdvancedSettingActivity.class));
@@ -185,11 +185,12 @@
 
         // 绯荤粺璁剧疆
         View menuSystemSettings = findViewById(R.id.menu_system_settings);
-        menuSystemSettings.setVisibility(View.GONE);
         menuSystemSettings.setOnClickListener(v -> {
             drawerLayout.closeDrawer(GravityCompat.START);
             startActivity(new Intent(this, SystemSettingsActivity.class));
         });
+
+        updateMenuVisibility();
 
         // 椤堕儴comb鐐瑰嚮浜嬩欢
         findViewById(R.id.tv_menu_title).setOnClickListener(new View.OnClickListener() {
@@ -384,8 +385,8 @@
                 .addAction("纭畾", (dialog, index) -> {
                     String text = builder.getEditText().getText().toString();
                     if ("0880".equals(text)) {
-                        findViewById(R.id.menu_advanced_settings).setVisibility(View.VISIBLE);
-                        findViewById(R.id.menu_system_settings).setVisibility(View.VISIBLE);
+                        isSessionAdmin = true;
+                        updateMenuVisibility();
                         Toast("宸叉樉绀洪殣钘忚缃�");
                         dialog.dismiss();
                     } else {
@@ -394,4 +395,21 @@
                 })
                 .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
     }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        updateMenuVisibility();
+    }
+
+    private void updateMenuVisibility() {
+        boolean keepAdmin = com.blankj.utilcode.util.SPUtils.getInstance().getBoolean("keep_admin_mode", false);
+        int visibility = (keepAdmin || isSessionAdmin) ? View.VISIBLE : View.GONE;
+        
+        View menuAdvanced = findViewById(R.id.menu_advanced_settings);
+        View menuSystem = findViewById(R.id.menu_system_settings);
+        
+        if (menuAdvanced != null) menuAdvanced.setVisibility(visibility);
+        if (menuSystem != null) menuSystem.setVisibility(visibility);
+    }
 }

--
Gitblit v1.9.3