From d37c9549dafe85a95109b8b2d95666d62f9273c5 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 8 Sep 2022 11:38:52 +0200 Subject: [PATCH] Fallback to basic chat rooms to send conference invitations if LIME isn't available --- .../viewmodels/ConferenceSchedulingViewModel.kt | 10 ++++++++-- app/src/main/java/org/linphone/utils/LinphoneUtils.kt | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt index 807e30466..889be946c 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt @@ -31,6 +31,7 @@ import org.linphone.contact.ContactsSelectionViewModel import org.linphone.core.* import org.linphone.core.tools.Log import org.linphone.utils.Event +import org.linphone.utils.LinphoneUtils import org.linphone.utils.TimestampUtils class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { @@ -90,9 +91,14 @@ class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { // Send conference info even when conf is not scheduled for later // as the conference server doesn't invite participants automatically val chatRoomParams = coreContext.core.createDefaultChatRoomParams() - chatRoomParams.backend = ChatRoomBackend.FlexisipChat chatRoomParams.isGroupEnabled = false - chatRoomParams.isEncryptionEnabled = true + if (LinphoneUtils.isEndToEndEncryptedChatAvailable()) { + chatRoomParams.backend = ChatRoomBackend.FlexisipChat + chatRoomParams.isEncryptionEnabled = true + } else { + chatRoomParams.backend = ChatRoomBackend.Basic + chatRoomParams.isEncryptionEnabled = false + } chatRoomParams.subject = subject.value conferenceScheduler.sendInvitations(chatRoomParams) } else { diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt index 896a32013..9d323dee1 100644 --- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt +++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt @@ -106,7 +106,7 @@ class LinphoneUtils { fun isEndToEndEncryptedChatAvailable(): Boolean { val core = coreContext.core - return core.limeX3DhAvailable() && + return core.isLimeX3DhEnabled && core.defaultAccount?.params?.limeServerUrl != null && core.defaultAccount?.params?.conferenceFactoryUri != null }