From e7eee16a396770779adb8ee148634703d4066292 Mon Sep 17 00:00:00 2001 From: lukstbit <52494258+lukstbit@users.noreply.github.com> Date: Fri, 30 Aug 2024 09:31:32 +0300 Subject: [PATCH] Fix can't delete search input in CardBrowser after an initial search The DEL KeyEvent was previously declared to act as a keyboard shortcut to delete the selected notes. After an initial search which registered a search query entering DEL attempted to delete the current selected notes which also resulted in another search(same input) being executed. The fix registers the DEL keys as a delete notes shortcut ONLY if the search box of the CardBrowser is not currently available(isIconified returning true). --- .../src/main/java/com/ichi2/anki/CardBrowser.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/CardBrowser.kt b/AnkiDroid/src/main/java/com/ichi2/anki/CardBrowser.kt index 97932a24e8..9008c24945 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/CardBrowser.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/CardBrowser.kt @@ -689,9 +689,16 @@ open class CardBrowser : } } KeyEvent.KEYCODE_FORWARD_DEL, KeyEvent.KEYCODE_DEL -> { - Timber.i("Delete pressed - Delete Selected Note") - deleteSelectedNotes() - return true + if (searchView?.isIconified == false) { + Timber.i("Delete pressed - Search active, deleting character") + // the search box is available and could potentially receive input so handle the + // DEL as a simple text deletion and not as a keyboard shortcut + return false + } else { + Timber.i("Delete pressed - Delete Selected Note") + deleteSelectedNotes() + return true + } } KeyEvent.KEYCODE_F -> { if (event.isCtrlPressed) {