From 64e8eba0b3c1c4e8506e442fe4207086f40c8aac Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Mon, 21 Sep 2026 21:11:21 +0200 Subject: [PATCH 1/3] fix(android): wire up paste as plain text context menu action --- .../enriched/textinput/EnrichedTextInputView.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt index 65ad058e6..008717f77 100644 --- a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +++ b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt @@ -351,10 +351,27 @@ class EnrichedTextInputView : handleCustomCopy() return true } + + android.R.id.pasteAsPlainText -> { + handlePasteAsPlainText() + return true + } } return super.onTextContextMenuItem(id) } + private fun handlePasteAsPlainText() { + val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clip = clipboard.primaryClip ?: return + if (clip.itemCount == 0) return + + val item = clip.getItemAt(0) + val plainText = item.text?.toString() ?: return + val plainTextItem = ClipData.Item(plainText) + + handleTextPaste(plainTextItem) + } + private fun handleCustomCopy() { val start = selectionStart val end = selectionEnd From 444f76436a0aaea60b36e513321ee7254cb8feff Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz <146986839+hejsztynx@users.noreply.github.com> Date: Tue, 22 Sep 2026 23:36:59 +0200 Subject: [PATCH 2/3] fix(android): pick up the plain text clipboard content more universally Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../com/swmansion/enriched/textinput/EnrichedTextInputView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt index 008717f77..7dfa59a82 100644 --- a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +++ b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt @@ -366,7 +366,7 @@ class EnrichedTextInputView : if (clip.itemCount == 0) return val item = clip.getItemAt(0) - val plainText = item.text?.toString() ?: return +val plainText = item.coerceToText(context).toString() val plainTextItem = ClipData.Item(plainText) handleTextPaste(plainTextItem) From c8c56e3d4ad93ca762e47bbfe34cfa16639f3a9b Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Tue, 22 Sep 2026 23:43:07 +0200 Subject: [PATCH 3/3] chore: lint --- .../com/swmansion/enriched/textinput/EnrichedTextInputView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt index 7dfa59a82..e61435f35 100644 --- a/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +++ b/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt @@ -366,7 +366,7 @@ class EnrichedTextInputView : if (clip.itemCount == 0) return val item = clip.getItemAt(0) -val plainText = item.coerceToText(context).toString() + val plainText = item.coerceToText(context).toString() val plainTextItem = ClipData.Item(plainText) handleTextPaste(plainTextItem)