diff --git a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt index 48042f418..354e6de70 100644 --- a/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/calls/viewmodel/CallsListViewModel.kt @@ -34,7 +34,7 @@ class CallsListViewModel : ViewModel() { private val coreListener = object : CoreListenerStub() { override fun onCallLogUpdated(core: Core, callLog: CallLog) { - computeCallLogsList() + computeCallLogsList(currentFilter) } } @@ -42,7 +42,7 @@ class CallsListViewModel : ViewModel() { coreContext.postOnCoreThread { core -> core.addListener(coreListener) - computeCallLogsList() + computeCallLogsList(currentFilter) } } @@ -57,14 +57,18 @@ class CallsListViewModel : ViewModel() { fun applyFilter(filter: String) { // UI thread currentFilter = filter - // TODO + + coreContext.postOnCoreThread { + computeCallLogsList(currentFilter) + } } - private fun computeCallLogsList() { + private fun computeCallLogsList(filter: String) { // Core thread val list = arrayListOf() // TODO : filter depending on currently selected account + // TODO : Add support for call logs in magic search for (callLog in coreContext.core.callLogs) { val model = CallLogModel(callLog) list.add(model) diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt index 4050c293f..d99eaf91f 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt @@ -23,6 +23,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import java.util.ArrayList import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.contacts.ContactsListener import org.linphone.core.Friend import org.linphone.core.MagicSearch @@ -46,6 +47,7 @@ class ContactsListViewModel : ViewModel() { private var currentFilter = "" private var previousFilter = "NotSet" + private var limitSearchToLinphoneAccounts = true private lateinit var magicSearch: MagicSearch @@ -63,7 +65,7 @@ class ContactsListViewModel : ViewModel() { Log.i("$TAG Contacts have been (re)loaded, updating list") applyFilter( currentFilter, - "", + if (limitSearchToLinphoneAccounts) corePreferences.defaultDomain else "", MagicSearch.Source.Friends.toInt(), MagicSearch.Aggregation.Friend ) @@ -143,7 +145,7 @@ class ContactsListViewModel : ViewModel() { coreContext.postOnCoreThread { applyFilter( filter, - "", + if (limitSearchToLinphoneAccounts) corePreferences.defaultDomain else "", MagicSearch.Source.Friends.toInt() or MagicSearch.Source.LdapServers.toInt(), MagicSearch.Aggregation.Friend )