diff --git a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt index 67b2c4af9..aa83aea3e 100644 --- a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt +++ b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt @@ -23,8 +23,11 @@ import android.content.Intent import android.os.Bundle import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.activities.GenericActivity @@ -135,6 +138,26 @@ class ChatBubbleActivity : GenericActivity() { } } + override fun onResume() { + super.onResume() + + val peerAddress = viewModel.chatRoom.peerAddress.asStringUriOnly() + coreContext.notificationsManager.currentlyDisplayedChatRoomAddress = peerAddress + coreContext.notificationsManager.resetChatNotificationCounterForSipUri(peerAddress) + + lifecycleScope.launch { + // Without the delay the scroll to bottom doesn't happen... + delay(100) + scrollToBottom() + } + } + + override fun onPause() { + coreContext.notificationsManager.currentlyDisplayedChatRoomAddress = null + + super.onPause() + } + private fun scrollToBottom() { if (adapter.itemCount > 0) { binding.chatMessagesList.scrollToPosition(adapter.itemCount - 1) diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt index 8886c54eb..31beda79c 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt @@ -325,7 +325,9 @@ class DetailChatRoomFragment : MasterFragment