Asking for EndToEnd encryption security level when scheduling a meeting/creating a group call if LIME is available

This commit is contained in:
Sylvain Berfini 2025-01-14 17:38:24 +01:00
parent dbb1793ea0
commit fee595cfdc
3 changed files with 29 additions and 0 deletions

View file

@ -28,6 +28,7 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.core.Address
import org.linphone.core.ChatRoom
import org.linphone.core.Conference
import org.linphone.core.ConferenceParams
import org.linphone.core.ConferenceScheduler
import org.linphone.core.ConferenceSchedulerListenerStub
@ -222,6 +223,15 @@ abstract class AbstractConversationViewModel : GenericViewModel() {
// Allows to have a chat room within the conference
conferenceInfo.setCapability(StreamType.Text, true)
// Enable end-to-end encryption if client supports it
conferenceInfo.securityLevel = if (LinphoneUtils.isEndToEndEncryptedChatAvailable(core)) {
Log.i("$TAG Requesting EndToEnd security level for conference")
Conference.SecurityLevel.EndToEnd
} else {
Log.i("$TAG Requesting PointToPoint security level for conference")
Conference.SecurityLevel.PointToPoint
}
val participants = arrayOfNulls<ParticipantInfo>(chatRoom.participants.size)
var index = 0
for (participant in chatRoom.participants) {

View file

@ -28,6 +28,7 @@ import kotlinx.coroutines.launch
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.LinphoneApplication.Companion.corePreferences
import org.linphone.R
import org.linphone.core.Conference
import org.linphone.core.ConferenceScheduler
import org.linphone.core.ConferenceSchedulerListenerStub
import org.linphone.core.Factory
@ -226,6 +227,15 @@ class StartCallViewModel
// Allows to have a chat room within the conference
conferenceInfo.setCapability(StreamType.Text, true)
// Enable end-to-end encryption if client supports it
conferenceInfo.securityLevel = if (LinphoneUtils.isEndToEndEncryptedChatAvailable(core)) {
Log.i("$TAG Requesting EndToEnd security level for conference")
Conference.SecurityLevel.EndToEnd
} else {
Log.i("$TAG Requesting PointToPoint security level for conference")
Conference.SecurityLevel.PointToPoint
}
val participants = arrayOfNulls<ParticipantInfo>(selection.value.orEmpty().size)
var index = 0
for (participant in selection.value.orEmpty()) {

View file

@ -419,6 +419,15 @@ class ScheduleMeetingViewModel
// Allows to have a chat room within the conference
conferenceInfo.setCapability(StreamType.Text, true)
// Enable end-to-end encryption if client supports it
conferenceInfo.securityLevel = if (LinphoneUtils.isEndToEndEncryptedChatAvailable(core)) {
Log.i("$TAG Requesting EndToEnd security level for conference")
Conference.SecurityLevel.EndToEnd
} else {
Log.i("$TAG Requesting PointToPoint security level for conference")
Conference.SecurityLevel.PointToPoint
}
Log.i("$TAG Computing timestamps")
computeTimestampsForSelectedTimezone()