From 561737631a9b1039eaf4c6b4f9a794c888c8e7e9 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 Jul 2025 10:56:29 +0200 Subject: [PATCH] Added enabled toggle for LDAP plugins allowing to disable it without deleting it + reduced max displayed contacts --- .../java/org/linphone/core/CorePreferences.kt | 2 +- .../main/settings/viewmodel/LdapViewModel.kt | 11 ++++++- .../res/layout/settings_contacts_ldap.xml | 30 ++++++++++++++++++- app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index 58b8d9f22..ac0b0c299 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -348,7 +348,7 @@ class CorePreferences @get:WorkerThread val magicSearchResultsLimit: Int - get() = config.getInt("ui", "max_number_of_magic_search_results", 1000) + get() = config.getInt("ui", "max_number_of_magic_search_results", 300) @get:WorkerThread val singleSignOnClientId: String 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 45034be08..407522b03 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 @@ -35,6 +35,8 @@ class LdapViewModel : GenericViewModel() { val isEdit = MutableLiveData() + val isEnabled = MutableLiveData() + val serverUrl = MutableLiveData() val bindDn = MutableLiveData() @@ -71,6 +73,7 @@ class LdapViewModel : GenericViewModel() { init { isEdit.value = false + isEnabled.value = true showPassword.value = false useTls.value = true @@ -93,6 +96,7 @@ class LdapViewModel : GenericViewModel() { isEdit.postValue(true) ldapToEdit = found val ldapParams = ldapToEdit.params + isEnabled.postValue(ldapParams.enabled) serverUrl.postValue(ldapParams.server) bindDn.postValue(ldapParams.bindDn.orEmpty()) @@ -122,6 +126,11 @@ class LdapViewModel : GenericViewModel() { } } + @UiThread + fun toggleEnabled() { + isEnabled.value = isEnabled.value == false + } + @UiThread fun toggleShowPassword() { showPassword.value = showPassword.value == false @@ -145,7 +154,7 @@ class LdapViewModel : GenericViewModel() { val ldapParams = core.createLdapParams() - ldapParams.enabled = true + ldapParams.enabled = isEnabled.value == true ldapParams.server = server ldapParams.bindDn = bindDn.value.orEmpty().trim() ldapParams.password = password.value.orEmpty().trim() diff --git a/app/src/main/res/layout/settings_contacts_ldap.xml b/app/src/main/res/layout/settings_contacts_ldap.xml index c50098ed8..459b0ad1f 100644 --- a/app/src/main/res/layout/settings_contacts_ldap.xml +++ b/app/src/main/res/layout/settings_contacts_ldap.xml @@ -73,6 +73,34 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> + + + + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 6c7bbbbb7..da3100417 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -233,6 +233,7 @@ Erreur de synchronization ! Compte CardDAV supprimé Veuillez remplir au moins le nom d\'affichage et l\'URL du serveur + Activé URL du serveur (ne peut être vide) Bind DN Mot de passe diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0f3d4c097..6b5062e04 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -274,6 +274,7 @@ Synchronization error! CardDAV account removed Please fill at least the display name and the server URL + Enabled Server URL (can\'t be empty) Bind DN Password