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 | 68 ++++++++++++++++++++++++++++++++--
1 files changed, 64 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 6be9c20..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;
@@ -121,7 +122,7 @@
}
});
}
- if (iv_right != null) iv_right.setVisibility(View.VISIBLE);
+ if (iv_right != null) iv_right.setVisibility(View.GONE);
}
});
@@ -176,14 +177,37 @@
});
// 楂樼骇璁剧疆
- findViewById(R.id.menu_advanced_settings).setOnClickListener(v -> {
+ View menuAdvancedSettings = findViewById(R.id.menu_advanced_settings);
+ menuAdvancedSettings.setOnClickListener(v -> {
drawerLayout.closeDrawer(GravityCompat.START);
startActivity(new Intent(this, AdvancedSettingActivity.class));
+ });
+
+ // 绯荤粺璁剧疆
+ View menuSystemSettings = findViewById(R.id.menu_system_settings);
+ 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() {
+ long lastClickTime = 0;
+ @Override
+ public void onClick(View v) {
+ long currentTime = System.currentTimeMillis();
+ if (currentTime - lastClickTime < 500) {
+ showPasswordDialog();
+ }
+ lastClickTime = currentTime;
+ }
});
}
private void updateDrawerSelection(int selectedId) {
- int[] menuIds = {R.id.menu_monitor, R.id.menu_devices, R.id.menu_current_device, R.id.menu_settings, R.id.menu_advanced_settings};
+ int[] menuIds = {R.id.menu_monitor, R.id.menu_devices, R.id.menu_current_device, R.id.menu_settings, R.id.menu_advanced_settings, R.id.menu_system_settings};
for (int id : menuIds) {
View view = findViewById(id);
if (view != null) {
@@ -237,7 +261,7 @@
}
});
}
- if (iv_right != null) iv_right.setVisibility(View.VISIBLE);
+ if (iv_right != null) iv_right.setVisibility(View.GONE);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (deviceListFragment == null) {
@@ -352,4 +376,40 @@
finish();
}
}
+ private void showPasswordDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("璇疯緭鍏ュ瘑鐮�")
+ .setPlaceholder("璇疯緭鍏ュ瘑鐮�")
+ .setInputType(android.text.InputType.TYPE_CLASS_NUMBER | android.text.InputType.TYPE_NUMBER_VARIATION_PASSWORD)
+ .addAction("鍙栨秷", (dialog, index) -> dialog.dismiss())
+ .addAction("纭畾", (dialog, index) -> {
+ String text = builder.getEditText().getText().toString();
+ if ("0880".equals(text)) {
+ isSessionAdmin = true;
+ updateMenuVisibility();
+ Toast("宸叉樉绀洪殣钘忚缃�");
+ dialog.dismiss();
+ } else {
+ Toast("瀵嗙爜閿欒");
+ }
+ })
+ .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