@@ -231,16 +231,22 @@ class EditorSelection(private val editorView: ReactNativeRichTextEditorView) {
231231 private fun emitMentionDetectedEvent (spannable : Spannable , span : EditorMentionSpan ? , start : Int , end : Int ) {
232232 val text = spannable.substring(start, end)
233233 val attributes = span?.getAttributes() ? : emptyMap()
234+ val indicator = span?.getIndicator() ? : " "
234235 val payload = JSONObject (attributes).toString()
235236
236- if (text == previousMentionDetectedEvent[" text" ] && payload == previousMentionDetectedEvent[" payload" ]) return
237+ val previousText = previousMentionDetectedEvent[" text" ] ? : " "
238+ val previousPayload = previousMentionDetectedEvent[" payload" ] ? : " "
239+ val previousIndicator = previousMentionDetectedEvent[" indicator" ] ? : " "
240+
241+ if (text == previousText && payload == previousPayload && indicator == previousIndicator) return
237242
238243 previousMentionDetectedEvent.put(" text" , text)
239244 previousMentionDetectedEvent.put(" payload" , payload)
245+ previousMentionDetectedEvent.put(" indicator" , indicator)
240246
241247 val context = editorView.context as ReactContext
242248 val surfaceId = UIManagerHelper .getSurfaceId(context)
243249 val dispatcher = UIManagerHelper .getEventDispatcherForReactTag(context, editorView.id)
244- dispatcher?.dispatchEvent(OnMentionDetectedEvent (surfaceId, editorView.id, text, payload))
250+ dispatcher?.dispatchEvent(OnMentionDetectedEvent (surfaceId, editorView.id, text, indicator, payload))
245251 }
246252}
0 commit comments