mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Limit contacts search to linphone contacts
This commit is contained in:
parent
e5bbe3a553
commit
405ab20ab2
2 changed files with 12 additions and 6 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue