From 1aac6e452e9f650addd1672430ddb524e9736755 Mon Sep 17 00:00:00 2001 From: sspanak Date: Mon, 17 Jun 2024 17:10:36 +0300 Subject: [PATCH] the Command Palette key both opens and closes the Command Palette; Backspace also closes the Command Palette --- .../sspanak/tt9/ime/CommandHandler.java | 39 +++++++++---------- .../github/sspanak/tt9/ime/HotkeyHandler.java | 8 +++- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java index e27b98ce..6596e4fb 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java @@ -11,36 +11,19 @@ import io.github.sspanak.tt9.ui.dialogs.AddWordDialog; abstract public class CommandHandler extends VoiceHandler { @Override protected boolean onBack() { - if (super.onBack()) { - return true; - } - - if (mainView.isCommandPaletteShown()) { - mainView.hideCommandPalette(); - if (!voiceInputOps.isListening()) { - resetStatus(); - } - return true; - } - - return false; + return super.onBack() || hideCommandPalette(); } @Override public boolean onBackspace() { - if (mainView.isCommandPaletteShown()) { - return false; - - } - - return super.onBackspace(); + return hideCommandPalette() || super.onBackspace(); } @Override public boolean onHotkey(int keyCode, boolean repeat, boolean validateOnly) { - return mainView.isCommandPaletteShown(); + return mainView.isCommandPaletteShown() && keyCode != settings.getKeyCommandPalette(); } @@ -204,4 +187,20 @@ abstract public class CommandHandler extends VoiceHandler { mainView.showCommandPalette(); resetStatus(); } + + + public boolean hideCommandPalette() { + if (!mainView.isCommandPaletteShown()) { + return false; + } + + mainView.hideCommandPalette(); + if (voiceInputOps.isListening()) { + stopVoiceInput(); + } else { + resetStatus(); + } + + return true; + } } diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java index 5f9784b7..709b8c3c 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java @@ -225,7 +225,13 @@ public abstract class HotkeyHandler extends CommandHandler { return false; } - if (!validateOnly) { + if (validateOnly) { + return true; + } + + if (mainView.isCommandPaletteShown()) { + hideCommandPalette(); + } else { showCommandPalette(); forceShowWindow(); }