From 4b5429395d588c9b070967be07980811453a281b Mon Sep 17 00:00:00 2001 From: hayaksi1 <193020925+hayaksi1@users.noreply.github.com> Date: Sun, 9 Aug 2026 15:37:18 +0300 Subject: [PATCH] Drop the comments from the Enter key handling Review feedback: the callback name and the device-id check read on their own, and the test names carry the soft versus physical keyboard rule. --- .../textcomposer/components/markdown/MarkdownEditText.kt | 6 ------ .../textcomposer/components/markdown/MarkdownTextInput.kt | 1 - .../impl/components/markdown/MarkdownTextInputTest.kt | 1 - 3 files changed, 8 deletions(-) diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt index b8d173aaa8..8cc06c77c3 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt @@ -19,10 +19,6 @@ internal class MarkdownEditText( ) : AppCompatEditText(context) { var onSelectionChangeListener: ((Int, Int) -> Unit)? = null - /** - * Invoked when Enter is pressed on a physical keyboard without Shift. Return true to consume the - * key, i.e. to send instead of inserting a newline. - */ var onEnterKeyListener: (() -> Boolean)? = null private var isModifyingText = false @@ -30,13 +26,11 @@ internal class MarkdownEditText( override fun dispatchKeyEvent(event: KeyEvent): Boolean { if (event.keyCode == KeyEvent.KEYCODE_ENTER && !event.isShiftPressed && - // A soft keyboard must keep inserting a newline, only a real one sends. event.deviceId != KeyCharacterMap.VIRTUAL_KEYBOARD ) { val listener = onEnterKeyListener if (listener != null) { return when (event.action) { - // Consume the release too, so no newline leaks out on key repeat. KeyEvent.ACTION_UP -> true KeyEvent.ACTION_DOWN -> if (event.repeatCount == 0) listener() else true else -> super.dispatchKeyEvent(event) diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt index adb026d812..8c6f30eed1 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt @@ -133,7 +133,6 @@ fun MarkdownTextInput( update = { editText -> editText.contentDescription = placeholder editText.applyStyleInCompose(richTextEditorStyle) - // Set here rather than in the factory, which runs once and would capture a stale lambda. editText.onEnterKeyListener = onSendMessage?.let { send -> { send() diff --git a/libraries/textcomposer/impl/src/test/kotlin/io/element/android/libraries/textcomposer/impl/components/markdown/MarkdownTextInputTest.kt b/libraries/textcomposer/impl/src/test/kotlin/io/element/android/libraries/textcomposer/impl/components/markdown/MarkdownTextInputTest.kt index 49206775ac..15687cb4c9 100644 --- a/libraries/textcomposer/impl/src/test/kotlin/io/element/android/libraries/textcomposer/impl/components/markdown/MarkdownTextInputTest.kt +++ b/libraries/textcomposer/impl/src/test/kotlin/io/element/android/libraries/textcomposer/impl/components/markdown/MarkdownTextInputTest.kt @@ -233,7 +233,6 @@ class MarkdownTextInputTest : RobolectricTest() { } private companion object { - // Any device id other than KeyCharacterMap.VIRTUAL_KEYBOARD is a real keyboard. const val PHYSICAL_KEYBOARD_DEVICE_ID = 1 } }