From 37c23066f03c760da11b0a4f6361a362d1c24f44 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 28 Jan 2025 16:55:49 +0100 Subject: [PATCH] Fixed missing composing notifications --- .../chat/fragment/ConversationFragment.kt | 27 ++++++++++--------- .../SendMessageInConversationViewModel.kt | 7 +++++ 2 files changed, 21 insertions(+), 13 deletions(-) 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