diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt index 79796012b..d9410b9c1 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt @@ -275,15 +275,21 @@ open class ConversationFragment : SlidingPaneChildFragment() { } override fun afterTextChanged(p0: Editable?) { - sendMessageViewModel.closeParticipantsList() + if (viewModel.isGroup.value == true) { + sendMessageViewModel.closeParticipantsList() - val split = p0.toString().split(" ") - for (part in split) { - if (part == "@") { - Log.i("$TAG '@' found, opening participants list") - sendMessageViewModel.openParticipantsList() + val split = p0.toString().split(" ") + for (part in split) { + if (part == "@") { + Log.i("$TAG '@' found, opening participants list") + sendMessageViewModel.openParticipantsList() + } } } + + if (p0.toString().isNotEmpty()) { + sendMessageViewModel.notifyChatMessageIsBeingComposed() + } } } @@ -786,13 +792,6 @@ open class ConversationFragment : SlidingPaneChildFragment() { } } - viewModel.isGroup.observe(viewLifecycleOwner) { group -> - if (group) { - Log.i("$TAG Adding text observer to message sending area") - binding.sendArea.messageToSend.addTextChangedListener(textObserver) - } - } - viewModel.messageDeletedEvent.observe(viewLifecycleOwner) { it.consume { val message = getString(R.string.conversation_message_deleted_toast) @@ -946,6 +945,8 @@ open class ConversationFragment : SlidingPaneChildFragment() { } } + binding.sendArea.messageToSend.addTextChangedListener(textObserver) + scrollListener = object : ConversationScrollListener(layoutManager) { @UiThread override fun onLoadMore(totalItemsCount: Int) { diff --git a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/SendMessageInConversationViewModel.kt b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/SendMessageInConversationViewModel.kt index cd9d6ccad..2c1a18e80 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/SendMessageInConversationViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/SendMessageInConversationViewModel.kt @@ -321,6 +321,13 @@ class SendMessageInConversationViewModel } } + @UiThread + fun notifyChatMessageIsBeingComposed() { + coreContext.postOnCoreThread { + chatRoom.compose() + } + } + @UiThread fun openParticipantsList() { isParticipantsListOpen.value = true