From a284a55d8e991fbdbedda8120f17a6a71e4a1265 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 27 Jan 2021 14:56:33 +0100 Subject: [PATCH] Fixed some chat related issues --- .../main/chat/viewmodels/ChatMessageSendingViewModel.kt | 7 +++++-- .../main/chat/viewmodels/ChatMessagesListViewModel.kt | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt index 93f3a38d6..f90080a6e 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt @@ -24,7 +24,10 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import java.io.File import org.linphone.LinphoneApplication.Companion.corePreferences -import org.linphone.core.* +import org.linphone.core.ChatMessage +import org.linphone.core.ChatRoom +import org.linphone.core.ChatRoomCapabilities +import org.linphone.core.Factory import org.linphone.utils.FileUtils class ChatMessageSendingViewModelFactory(private val chatRoom: ChatRoom) : @@ -103,7 +106,7 @@ class ChatMessageSendingViewModel(private val chatRoom: ChatRoom) : ViewModel() val toSend = textToSend.value if (toSend != null && toSend.isNotEmpty()) { - message.addTextContent(toSend) + message.addUtf8TextContent(toSend) } for (attachment in attachments.value.orEmpty()) { diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessagesListViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessagesListViewModel.kt index a5a029924..cf19e70d9 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessagesListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessagesListViewModel.kt @@ -89,7 +89,7 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() { addEvent(eventLog) } - override fun onChatMessageSent(chatRoom: ChatRoom, eventLog: EventLog) { + override fun onChatMessageSending(chatRoom: ChatRoom, eventLog: EventLog) { val position = events.value.orEmpty().size if (eventLog.type == EventLog.Type.ConferenceChatMessage) { @@ -208,7 +208,9 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() { private fun addEvent(eventLog: EventLog) { val list = arrayListOf() list.addAll(events.value.orEmpty()) - list.add(eventLog) + if (!list.contains(eventLog)) { + list.add(eventLog) + } events.value = list }