Limit contacts search to linphone contacts

This commit is contained in:
Sylvain Berfini 2023-08-17 11:52:42 +02:00
parent e5bbe3a553
commit 405ab20ab2
2 changed files with 12 additions and 6 deletions

View file

@ -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<CallLogModel>()
// 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)

View file

@ -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
)