From 753852d587baa56868cf3efc409da9bfc6d2dbe1 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Thu, 19 Jan 2023 12:09:53 +0200 Subject: [PATCH] fix: android do not call onPaste if disabled --- .../java/com/mattermost/pasteinput/PasteInputEditText.kt | 9 ++++++++- .../java/com/mattermost/pasteinput/PasteInputManager.kt | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/mattermost/pasteinput/PasteInputEditText.kt b/android/src/main/java/com/mattermost/pasteinput/PasteInputEditText.kt index eefa361..c883919 100644 --- a/android/src/main/java/com/mattermost/pasteinput/PasteInputEditText.kt +++ b/android/src/main/java/com/mattermost/pasteinput/PasteInputEditText.kt @@ -12,6 +12,11 @@ import java.lang.Exception class PasteInputEditText(context: ThemedReactContext) : ReactEditText(context) { private lateinit var mOnPasteListener: IPasteInputListener + private var mDisabledCopyPaste: Boolean = false + + fun setDisableCopyPaste(disabled: Boolean) { + this.mDisabledCopyPaste = disabled + } fun setOnPasteListener(listener: IPasteInputListener) { mOnPasteListener = listener @@ -36,7 +41,9 @@ class PasteInputEditText(context: ThemedReactContext) : ReactEditText(context) { } } - getOnPasteListener().onPaste(inputContentInfo.contentUri) + if (!mDisabledCopyPaste) { + getOnPasteListener().onPaste(inputContentInfo.contentUri) + } true } diff --git a/android/src/main/java/com/mattermost/pasteinput/PasteInputManager.kt b/android/src/main/java/com/mattermost/pasteinput/PasteInputManager.kt index 8cb70cf..5fce324 100644 --- a/android/src/main/java/com/mattermost/pasteinput/PasteInputManager.kt +++ b/android/src/main/java/com/mattermost/pasteinput/PasteInputManager.kt @@ -31,6 +31,7 @@ class PasteInputManager(reactContext: ReactContext) : ReactTextInputManager() { disableCopyPaste = disabled editText.customInsertionActionModeCallback = PasteInputActionCallback(editText, disabled) editText.customSelectionActionModeCallback = PasteInputActionCallback(editText, disabled) + editText.setDisableCopyPaste(disabled) } @RequiresApi(Build.VERSION_CODES.M) @@ -53,7 +54,6 @@ class PasteInputManager(reactContext: ReactContext) : ReactTextInputManager() { pasteInputEditText.setOnPasteListener(PasteInputListener(pasteInputEditText)) } - @Nullable override fun getExportedCustomBubblingEventTypeConstants(): MutableMap { val map = super.getExportedCustomBubblingEventTypeConstants()!! map.put(