@@ -174,23 +174,24 @@ class ParametrizedStyles(private val view: EnrichedTextInputView) {
174174 if (view.selection == null ) return
175175
176176 val spannable = view.text as SpannableStringBuilder
177- var (start, end) = view.selection.getInlineSelection()
178- val spans = spannable.getSpans(start, end, EnrichedImageSpan ::class .java)
177+ val (start, originalEnd) = view.selection.getInlineSelection()
179178
180- for (s in spans) {
181- spannable.removeSpan(s)
182- }
183-
184- if (start == end) {
179+ if (start == originalEnd) {
185180 spannable.insert(start, " \uFFFC " )
186- end++
181+ } else {
182+ val spans = spannable.getSpans(start, originalEnd, EnrichedImageSpan ::class .java)
183+ for (s in spans) {
184+ spannable.removeSpan(s)
185+ }
186+
187+ spannable.replace(start, originalEnd, " \uFFFC " )
187188 }
188189
190+ val imageEnd = start + 1 ;
189191 val uri = Uri .fromFile(File (src))
190192
191193 val span = EnrichedImageSpan (view.context, uri, width.toInt(), height.toInt())
192- val (safeStart, safeEnd) = spannable.getSafeSpanBoundaries(start, end)
193- spannable.setSpan(span, safeStart, safeEnd, Spannable .SPAN_EXCLUSIVE_EXCLUSIVE )
194+ spannable.setSpan(span, start, imageEnd, Spannable .SPAN_EXCLUSIVE_EXCLUSIVE )
194195 }
195196
196197 fun startMention (indicator : String ) {
0 commit comments