From 4feac1cb50dfb1b638f7e7e678b9276e0b99c695 Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Mon, 10 Feb 2025 12:18:26 -0600 Subject: [PATCH] found the error Signed-off-by: rapterjet2004 --- .../talk/chat/MessageInputFragment.kt | 18 +++++++++++++----- .../com/nextcloud/talk/utils/CharPolicy.java | 4 +++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt index 14607a210..9039346dc 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt @@ -366,15 +366,23 @@ class MessageInputFragment : Fragment() { var mentionSpan: Spans.MentionChipSpan for (i in mentionSpans.indices) { mentionSpan = mentionSpans[i] + val start = editable.getSpanStart(mentionSpan) + val end = editable.getSpanEnd(mentionSpan) + Log.d("Julius", "S:$start E:$end") if (start >= editable.getSpanStart(mentionSpan) && start < editable.getSpanEnd(mentionSpan) ) { - if (editable.subSequence( - editable.getSpanStart(mentionSpan), - editable.getSpanEnd(mentionSpan) - ).toString().trim { it <= ' ' } != mentionSpan.label + val what = editable.subSequence( + editable.getSpanStart(mentionSpan), + editable.getSpanEnd(mentionSpan) + ).toString() + + if (what.trim { it <= ' ' } != mentionSpan.label ) { - editable.removeSpan(mentionSpan) + Log.d("Julius", "What: $what") + Log.d("Julius", "MentionSpan removed: $mentionSpan") + // FIXME error here- I knew it I was right, but why? + // editable.removeSpan(mentionSpan) } } } diff --git a/app/src/main/java/com/nextcloud/talk/utils/CharPolicy.java b/app/src/main/java/com/nextcloud/talk/utils/CharPolicy.java index add1d48d7..baedde6d6 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/CharPolicy.java +++ b/app/src/main/java/com/nextcloud/talk/utils/CharPolicy.java @@ -9,12 +9,14 @@ package com.nextcloud.talk.utils; import android.text.Spannable; import android.text.Spanned; -import androidx.annotation.Nullable; + import com.otaliastudios.autocomplete.AutocompletePolicy; import java.util.regex.Matcher; import java.util.regex.Pattern; +import androidx.annotation.Nullable; + public class CharPolicy implements AutocompletePolicy { private final char character;