From 3ccf4dc3a6205e4770495ad50a51c17f34d36adf Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 11 Jun 2024 16:13:34 +0200 Subject: [PATCH] Check if SIP addresses fields are empty before parsing them --- .../viewmodel/AccountSettingsViewModel.kt | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountSettingsViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountSettingsViewModel.kt index 369d59e87..62d21b921 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountSettingsViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountSettingsViewModel.kt @@ -185,22 +185,35 @@ class AccountSettingsViewModel @UiThread constructor() : GenericViewModel() { newParams.isCpimInBasicChatRoomEnabled = cpimInBasicChatRooms.value == true - val mwiAddress = core.interpretUrl(voicemailUri.value.orEmpty(), false) - newParams.mwiServerAddress = mwiAddress + val mwiUri = voicemailUri.value.orEmpty() + if (mwiUri.isNotEmpty()) { + val mwiAddress = core.interpretUrl(mwiUri, false) + newParams.mwiServerAddress = mwiAddress + } else { + newParams.mwiServerAddress = null + } newParams.expires = expire.value?.toInt() ?: 31536000 - val conferenceFactoryAddress = core.interpretUrl( - conferenceFactoryUri.value.orEmpty(), - false - ) - newParams.conferenceFactoryAddress = conferenceFactoryAddress + val conferenceUri = conferenceFactoryUri.value.orEmpty() + if (conferenceUri.isNotEmpty()) { + val conferenceFactoryAddress = core.interpretUrl(conferenceUri, false) + newParams.conferenceFactoryAddress = conferenceFactoryAddress + } else { + newParams.conferenceFactoryAddress = null + } - val audioVideoConferenceFactoryAddress = core.interpretUrl( - audioVideoConferenceFactoryUri.value.orEmpty(), - false - ) - newParams.audioVideoConferenceFactoryAddress = audioVideoConferenceFactoryAddress + val audioVideoConferenceUri = audioVideoConferenceFactoryUri.value.orEmpty() + if (audioVideoConferenceUri.isNotEmpty()) { + val audioVideoConferenceFactoryAddress = core.interpretUrl( + audioVideoConferenceUri, + false + ) + newParams.audioVideoConferenceFactoryAddress = + audioVideoConferenceFactoryAddress + } else { + newParams.audioVideoConferenceFactoryAddress = null + } newParams.limeServerUrl = limeServerUrl.value