From a00409e00318fb4a4f12d40a74afc6d02e9a45d8 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 12 Jan 2024 09:37:33 +0100 Subject: [PATCH] Added unread message indicator when scrolling up in conversation --- .../main/chat/viewmodel/ConversationViewModel.kt | 13 ++++++++++++- .../main/res/layout/chat_conversation_fragment.xml | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt index b513051ed..116adb988 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt @@ -72,6 +72,8 @@ class ConversationViewModel @UiThread constructor() : ViewModel() { val noMatchingResultForFilter = MutableLiveData() + val unreadMessagesCount = MutableLiveData() + var scrollingPosition: Int = SCROLLING_POSITION_NOT_SET val focusSearchBarEvent: MutableLiveData> by lazy { @@ -115,6 +117,12 @@ class ConversationViewModel @UiThread constructor() : ViewModel() { } } + @WorkerThread + override fun onChatRoomRead(chatRoom: ChatRoom) { + unreadMessagesCount.postValue(0) + Log.i("$TAG Conversation was marked as read") + } + @WorkerThread override fun onChatMessageSending(chatRoom: ChatRoom, eventLog: EventLog) { val message = eventLog.chatMessage @@ -185,6 +193,8 @@ class ConversationViewModel @UiThread constructor() : ViewModel() { list.addAll(newList) events.postValue(list) + + unreadMessagesCount.postValue(chatRoom.unreadMessagesCount) } @WorkerThread @@ -431,8 +441,9 @@ class ConversationViewModel @UiThread constructor() : ViewModel() { computeConversationInfo() computeEvents() + + Log.i("$TAG Marking chat room as read") chatRoom.markAsRead() - Log.i("$TAG Conversation was marked as read") } @WorkerThread diff --git a/app/src/main/res/layout/chat_conversation_fragment.xml b/app/src/main/res/layout/chat_conversation_fragment.xml index 68ddbabcf..f5ec3c407 100644 --- a/app/src/main/res/layout/chat_conversation_fragment.xml +++ b/app/src/main/res/layout/chat_conversation_fragment.xml @@ -272,6 +272,20 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@id/send_area" /> + +