From ac34a9a45400bd7e3810594a4c43945bd690b8ad Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Wed, 20 May 2026 11:53:36 +0200 Subject: [PATCH] show call started info Signed-off-by: sowjanyakch --- .../java/com/nextcloud/talk/chat/ChatActivity.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 7731e32f1f..f1350408b8 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -150,6 +150,7 @@ import com.nextcloud.talk.conversationinfo.ConversationInfoActivity import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel import com.nextcloud.talk.conversationlist.ConversationsListActivity import com.nextcloud.talk.dagger.modules.ViewModelFactoryWithParams +import com.nextcloud.talk.data.database.mappers.toDomainModel import com.nextcloud.talk.data.network.NetworkMonitor import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.databinding.ActivityChatBinding @@ -1263,7 +1264,7 @@ class ChatActivity : spreedCapabilities = state.spreedCapabilities chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1)) participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!) - + updateCallStartedIndicator(currentConversation) invalidateOptionsMenu() isEventConversation() checkShowCallButtons() @@ -1282,7 +1283,7 @@ class ChatActivity : currentConversation = state.conversationModel chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1)) participantPermissions = ParticipantPermissions(spreedCapabilities, state.conversationModel!!) - + updateCallStartedIndicator(currentConversation) supportFragmentManager.commit { setReorderingAllowed(true) // optimizes out redundant replace operations replace(R.id.fragment_container_activity_chat, messageInputFragment) @@ -1400,7 +1401,7 @@ class ChatActivity : when (state) { is ChatViewModel.JoinRoomSuccessState -> { currentConversation = state.conversationModel - + updateCallStartedIndicator(state.conversationModel) sessionIdAfterRoomJoined = currentConversation!!.sessionId ApplicationWideCurrentRoomHolder.getInstance().session = currentConversation!!.sessionId ApplicationWideCurrentRoomHolder.getInstance().currentRoomToken = currentConversation!!.token @@ -1803,6 +1804,12 @@ class ChatActivity : } } + private fun updateCallStartedIndicator(conversationModel: ConversationModel?) { + val lastMessage = conversationModel?.lastMessage?.toDomainModel() + val shouldShow = lastMessage?.systemMessageType == ChatMessage.SystemMessageType.CALL_STARTED + messageInputViewModel.showCallStartedIndicator((lastMessage ?: ChatMessage()), shouldShow) + } + private fun removeUnreadMessagesMarker() { chatViewModel.setUnreadMessagesMarker(false) }