From a858cffc82b30098d5aecc542af52c7f41071e81 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 13 Jun 2024 16:18:10 +0200 Subject: [PATCH] Prevent crash if LDAP server URL wasn't filled --- .../ui/main/settings/viewmodel/LdapViewModel.kt | 16 +++++++++++++++- app/src/main/res/values-fr/strings.xml | 3 ++- app/src/main/res/values/strings.xml | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/LdapViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/LdapViewModel.kt index 4f3cb43e3..dbfe0395c 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/LdapViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/LdapViewModel.kt @@ -136,10 +136,24 @@ class LdapViewModel : GenericViewModel() { fun addServer() { coreContext.postOnCoreThread { core -> try { + val server = serverUrl.value.orEmpty().trim() + if (server.isEmpty()) { + Log.e("$TAG Server field can't be empty!") + showRedToastEvent.postValue( + Event( + Pair( + R.string.settings_contacts_ldap_empty_server_error_toast, + R.drawable.warning_circle + ) + ) + ) + return@postOnCoreThread + } + val ldapParams = core.createLdapParams() ldapParams.enabled = true - ldapParams.server = serverUrl.value.orEmpty().trim() + ldapParams.server = server ldapParams.bindDn = bindDn.value.orEmpty().trim() ldapParams.password = password.value.orEmpty().trim() ldapParams.authMethod = Ldap.AuthMethod.Simple diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 73790a75e..e80db35fa 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -204,7 +204,7 @@ Erreur de synchronization ! Compte CardDAV supprimé Au moins un champ obligatoire n\'est pas rempli - URL du serveur + URL du serveur (ne peut être vide) Bind DN Mot de passe Utiliser TLS @@ -218,6 +218,7 @@ Attributs SIP Domaine SIP Une erreur s\'est produite, la configuration LDAP n\'a pas été sauvegardée ! + L\'URL du serveur ne peut être vide Réunions Disposition par défaut Intervenant actif diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d9cee319a..f6ebb9af4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -240,7 +240,7 @@ Synchronization error! CardDAV account removed At least one mandatory field wasn\'t filled - Server URL + Server URL (can\'t be empty) Bind DN Password Use TLS @@ -254,6 +254,7 @@ SIP attributes SIP domain A error occurred, LDAP server not saved! + Server URL can\'t be empty Meetings Default layout Active speaker