diff --git a/app/src/main/java/com/limelight/GameMenu.java b/app/src/main/java/com/limelight/GameMenu.java index cce2011cf..b2f68bb78 100755 --- a/app/src/main/java/com/limelight/GameMenu.java +++ b/app/src/main/java/com/limelight/GameMenu.java @@ -273,6 +273,9 @@ private void showAdvancedMenu() { options.add(new MenuOption(getString(R.string.game_menu_toggle_virtual_keyboard_model), true, game::showHidekeyBoardLayoutController)); + options.add(new MenuOption(getString(R.string.game_menu_task_manager), true, + () -> sendKeys(new short[]{KeyboardTranslator.VK_LCONTROL, KeyboardTranslator.VK_LSHIFT, KeyboardTranslator.VK_ESCAPE}))); + options.add(new MenuOption(getString(R.string.game_menu_send_keys), this::showSpecialKeysMenu)); options.add(new MenuOption(getString(R.string.game_menu_switch_touch_sensitivity_model), true, diff --git a/app/src/main/java/com/limelight/PcView.java b/app/src/main/java/com/limelight/PcView.java index e05885e38..dc38b9449 100755 --- a/app/src/main/java/com/limelight/PcView.java +++ b/app/src/main/java/com/limelight/PcView.java @@ -542,7 +542,13 @@ private void doOTPPair(final ComputerDetails computer) { dialogBuilder.setTitle(R.string.pcview_menu_pair_pc_otp); dialogBuilder.setView(layout); - dialogBuilder.setPositiveButton(getString(R.string.proceed), (dialog, which) -> { + dialogBuilder.setPositiveButton(getString(R.string.proceed), null); + + dialogBuilder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> dialog.dismiss()); + AlertDialog dialog = dialogBuilder.create(); + dialog.show(); + + dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { String pin = otpInput.getText().toString(); String passphrase = passphraseInput.getText().toString(); if (pin.length() != 4) { @@ -554,10 +560,8 @@ private void doOTPPair(final ComputerDetails computer) { return; } doPair(computer, pin, passphrase); + dialog.dismiss(); // Manually dismiss the dialog if the input is valid }); - - dialogBuilder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> dialog.dismiss()); - dialogBuilder.create().show(); } private void doWakeOnLan(final ComputerDetails computer) { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 54bb448d1..f917575d3 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -11,7 +11,7 @@ 正在加载帮助页面…… 浏览游戏列表 - 和电脑配对 + 普通配对 OTP配对 取消配对 发送 Wake-On-LAN 请求 @@ -27,7 +27,7 @@ 请在目标电脑上输入以下PIN码: 正在配对,请稍候… OTP 配对仅支持 Apollo,其他服务端请在 WebUI 上手动输入刚刚提供的PIN码。 - PIN码错误 + PIN码或口令错误 配对失败 配对中,请稍候 口令 @@ -314,6 +314,7 @@ 触控灵敏度切换 断开连接 取消 + 打开任务管理器 发送特殊按键 发送 Ctrl + V (粘贴剪切板) 发送 Win (打开Windows开始菜单) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 43c6b8387..bd02a5a4f 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,7 +16,7 @@ Offline Refreshing View All Apps - Pair with PC + Legacy Pair OTP Pair Unpair Send Wake-On-LAN request @@ -45,7 +45,7 @@ If your host PC is running Sunshine, navigate to the Sunshine web UI to enter the PIN. Pairing, please wait… OTP pairing is only available with Apollo, enter the PIN you just provided on the web UI manually if you\'re using other host software. - Incorrect PIN + Incorrect PIN or Passphrase Pairing failed Pairing already in progress Passphrase @@ -337,6 +337,7 @@ Disable Controller Mouse Emulation Disconnect Cancel + Open Task Manager Send special keys Send ESC Send F11