From a5671c89f73c78c3611a22b32063cec02779ac18 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Mon, 21 May 2018 00:42:21 +0200 Subject: [PATCH] Fixes #102 --- .../quasseldroid/ui/chat/input/ChatlineFragment.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt index d8a0262ed..e7f3188b5 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/ChatlineFragment.kt @@ -27,6 +27,7 @@ import android.support.v7.widget.DefaultItemAnimator import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.RecyclerView import android.text.SpannableString +import android.text.Spanned import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -166,7 +167,13 @@ class ChatlineFragment : ServiceBoundFragment() { fun send() { if (chatline.text.isNotBlank()) { val lines = chatline.text.lineSequence().map { - it to ircFormatSerializer.toEscapeCodes(SpannableString(it)) + SpannableString(it).apply { + for (span in getSpans(0, length, Any::class.java)) { + if (getSpanFlags(span) and Spanned.SPAN_COMPOSING != 0) { + removeSpan(span) + } + } + } to ircFormatSerializer.toEscapeCodes(SpannableString(it)) } viewModel.session { sessionOptional -> @@ -174,8 +181,8 @@ class ChatlineFragment : ServiceBoundFragment() { viewModel.buffer { bufferId -> session?.bufferSyncer?.bufferInfo(bufferId)?.also { bufferInfo -> val output = mutableListOf<IAliasManager.Command>() - for ((raw, formatted) in lines) { - viewModel.addRecentlySentMessage(raw) + for ((stripped, formatted) in lines) { + viewModel.addRecentlySentMessage(stripped) session.aliasManager?.processInput(bufferInfo, formatted, output) } for (command in output) { -- GitLab