From aa36235ab1d0458fecb6508c9ff8df5a0c28bd83 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 19 Feb 2024 15:09:34 +0100 Subject: [PATCH] Should speed up a little the first display when app starts --- .../main/viewmodel/AbstractTopBarViewModel.kt | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/AbstractTopBarViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/AbstractTopBarViewModel.kt index 4b568688d..e7d336dde 100644 --- a/app/src/main/java/org/linphone/ui/main/viewmodel/AbstractTopBarViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/viewmodel/AbstractTopBarViewModel.kt @@ -145,13 +145,12 @@ open class AbstractTopBarViewModel @UiThread constructor() : ViewModel() { } init { - searchBarVisible.value = false - coreContext.postOnCoreThread { core -> core.addListener(coreListener) + configure() } - update() + searchBarVisible.value = false } @UiThread @@ -201,17 +200,6 @@ open class AbstractTopBarViewModel @UiThread constructor() : ViewModel() { @UiThread fun update() { coreContext.postOnCoreThread { core -> - if (core.accountList.isNotEmpty()) { - Log.i("$TAG Updating displayed default account") - val defaultAccount = core.defaultAccount ?: core.accountList.first() - - account.value?.destroy() - account.postValue(AccountModel(defaultAccount)) - - updateUnreadMessagesCount() - updateMissedCallsCount() - updateAvailableMenus() - } } } @@ -276,4 +264,21 @@ open class AbstractTopBarViewModel @UiThread constructor() : ViewModel() { ) hideMeetings.postValue(hideGroupCall) } + + @WorkerThread + private fun configure() { + val core = coreContext.core + val defaultAccount = core.defaultAccount + if (defaultAccount != null || core.accountList.isNotEmpty()) { + Log.i("$TAG Updating displayed default account") + account.value?.destroy() + account.postValue(AccountModel(defaultAccount ?: core.accountList.first())) + + updateUnreadMessagesCount() + updateMissedCallsCount() + updateAvailableMenus() + } else { + Log.e("$TAG Accounts list no supposed to be empty!") + } + } }