diff --git a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt index f8f0b63fb..58e02e2ac 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt @@ -115,7 +115,9 @@ class ContactViewModel(friend: Friend, async: Boolean = false) : MessageNotifier val chatRoom = LinphoneUtils.createOneToOneChatRoom(address, isSecured) if (chatRoom != null) { - if (chatRoom.state == ChatRoom.State.Created) { + val state = chatRoom.state + Log.i("[Contact Detail] Found existing chat room in state $state") + if (state == ChatRoom.State.Created || state == ChatRoom.State.Terminated) { waitForChatRoomCreation.value = false chatRoomCreatedEvent.value = Event(chatRoom) } else { diff --git a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt index 466447415..c31ae9331 100644 --- a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt @@ -188,8 +188,11 @@ class CallLogViewModel(val callLog: CallLog, private val isRelated: Boolean = fa fun startChat(isSecured: Boolean) { waitForChatRoomCreation.value = true val chatRoom = LinphoneUtils.createOneToOneChatRoom(callLog.remoteAddress, isSecured) + if (chatRoom != null) { - if (chatRoom.state == ChatRoom.State.Created) { + val state = chatRoom.state + Log.i("[History Detail] Found existing chat room in state $state") + if (state == ChatRoom.State.Created || state == ChatRoom.State.Terminated) { waitForChatRoomCreation.value = false chatRoomCreatedEvent.value = Event(chatRoom) } else {