From 545ce26b727c47d685e761e73df7dc843e5e1e6f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 3 Mar 2022 11:50:07 +0100 Subject: [PATCH] Make delay before showing contacts operation in progress spinner configurable --- .../main/contact/viewmodels/ContactsListViewModel.kt | 4 +++- app/src/main/java/org/linphone/core/CorePreferences.kt | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt index d0d42f919..d5ca9ffc6 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt @@ -27,6 +27,7 @@ import androidx.lifecycle.viewModelScope import java.util.* import kotlinx.coroutines.* import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.contact.Contact import org.linphone.contact.ContactsUpdatedListenerStub import org.linphone.contact.NativeContact @@ -106,9 +107,10 @@ class ContactsListViewModel : ViewModel() { fastFetchJob?.cancel() coreContext.contactsManager.magicSearch.getContactsAsync(filterValue, domain, filter) + val spinnerDelay = corePreferences.delayBeforeShowingContactsSearchSpinner.toLong() fastFetchJob = viewModelScope.launch { withContext(Dispatchers.IO) { - delay(200) + delay(spinnerDelay) withContext(Dispatchers.Main) { if (searchResultsPending) { fetchInProgress.value = true diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index bc83c4e10..e49ff6c4c 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -431,6 +431,9 @@ class CorePreferences constructor(private val context: Context) { val fetchContactsFromDefaultDirectory: Boolean get() = config.getBool("app", "fetch_contacts_from_default_directory", true) + val delayBeforeShowingContactsSearchSpinner: Int + get() = config.getInt("app", "delay_before_showing_contacts_search_spinner", 200) + // From Android Contact APIs we can also retrieve the internationalized phone number // By default we display the same value as the native address book app val preferNormalizedPhoneNumbersFromAddressBook: Boolean