From e012d45c10c60747b15acf064ce651c201eab065 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 11 Jul 2024 15:46:12 +0200 Subject: [PATCH] Disable action buttons & hide numbers & SIP addresses fields if contact doesn't contains any --- app/src/main/assets/linphonerc_default | 3 +++ app/src/main/java/org/linphone/core/CoreContext.kt | 3 +++ .../ui/main/contacts/viewmodel/ContactViewModel.kt | 8 ++++++++ app/src/main/res/layout/contact_fragment.xml | 10 +++++++++- 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/src/main/assets/linphonerc_default b/app/src/main/assets/linphonerc_default index 13cfb6207..fb1fcee9d 100644 --- a/app/src/main/assets/linphonerc_default +++ b/app/src/main/assets/linphonerc_default @@ -44,4 +44,7 @@ hide_empty_chat_rooms=0 [fec] fec_enabled=1 +[magic_search] +return_empty_friends=1 + ## End of default rc diff --git a/app/src/main/java/org/linphone/core/CoreContext.kt b/app/src/main/java/org/linphone/core/CoreContext.kt index 71b7f9321..afe4ebc6a 100644 --- a/app/src/main/java/org/linphone/core/CoreContext.kt +++ b/app/src/main/java/org/linphone/core/CoreContext.kt @@ -447,6 +447,9 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C core.isFecEnabled = true Log.i("$TAG Video FEC has been enabled") + + core.config.setBool("magic_search", "return_empty_friends", true) + Log.i("$TAG Showing 'empty' friends enabled") } corePreferences.linphoneConfigurationVersion = currentVersion diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt index 8d9a9d91b..a611f079c 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt @@ -21,6 +21,7 @@ package org.linphone.ui.main.contacts.viewmodel import androidx.annotation.UiThread import androidx.annotation.WorkerThread +import androidx.lifecycle.MediatorLiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import java.io.File @@ -64,6 +65,7 @@ class ContactViewModel @UiThread constructor() : GenericViewModel() { val contact = MutableLiveData() val sipAddressesAndPhoneNumbers = MutableLiveData>() + val atLeastOneSipAddressOrPhoneNumber = MediatorLiveData() val devices = MutableLiveData>() @@ -236,9 +238,15 @@ class ContactViewModel @UiThread constructor() : GenericViewModel() { init { isStored.value = false + expandNumbersAndAddresses.value = true trustedDevicesPercentage.value = 0 + atLeastOneSipAddressOrPhoneNumber.value = false + atLeastOneSipAddressOrPhoneNumber.addSource(sipAddressesAndPhoneNumbers) { + atLeastOneSipAddressOrPhoneNumber.value = it.isNotEmpty() + } + coreContext.postOnCoreThread { core -> core.addListener(coreListener) chatDisabled.postValue(corePreferences.disableChat) diff --git a/app/src/main/res/layout/contact_fragment.xml b/app/src/main/res/layout/contact_fragment.xml index cdbd97b36..cb35caef1 100644 --- a/app/src/main/res/layout/contact_fragment.xml +++ b/app/src/main/res/layout/contact_fragment.xml @@ -144,6 +144,7 @@