zhuguifei
2026-01-14 82023c98e5c30d36966b85c10c43a6cb11f67e2c
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);
    }
}