| | |
| | | private DrawerLayout drawerLayout; |
| | | protected TextView tv_scan; |
| | | private long lastScanClickTime = 0; // 用于节流 |
| | | private boolean isSessionAdmin = false; // 当前会话是否已验证管理员密码 |
| | | |
| | | // Bluetooth Variables |
| | | private BluetoothScanManager scanManager; |
| | |
| | | } |
| | | }); |
| | | } |
| | | if (iv_right != null) iv_right.setVisibility(View.VISIBLE); |
| | | if (iv_right != null) iv_right.setVisibility(View.GONE); |
| | | } |
| | | }); |
| | | |
| | |
| | | }); |
| | | |
| | | // 高级设置 |
| | | 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) { |
| | |
| | | } |
| | | }); |
| | | } |
| | | 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) { |
| | |
| | | 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); |
| | | } |
| | | } |