diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt index c711414f9..ac301dc4b 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt @@ -178,12 +178,14 @@ class ContactViewModel private val contactsListener = object : ContactsManager.ContactsListener { @WorkerThread override fun onContactsLoaded() { - val friend = coreContext.contactsManager.findContactById(refKey) - if (friend != null && friend != this@ContactViewModel.friend) { + if (!::friend.isInitialized) return + + val found = coreContext.contactsManager.findContactById(refKey) + if (found != null && found != friend) { Log.i( - "$TAG Found contact [${friend.name}] matching ref key [$refKey] after contacts have been loaded/updated" + "$TAG Found contact [${found.name}] matching ref key [$refKey] after contacts have been loaded/updated" ) - this@ContactViewModel.friend = friend + friend = found refreshContactInfo() } } diff --git a/app/src/main/java/org/linphone/ui/main/history/viewmodel/HistoryViewModel.kt b/app/src/main/java/org/linphone/ui/main/history/viewmodel/HistoryViewModel.kt index 6f96dda67..024c60f56 100644 --- a/app/src/main/java/org/linphone/ui/main/history/viewmodel/HistoryViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/history/viewmodel/HistoryViewModel.kt @@ -189,6 +189,7 @@ class HistoryViewModel @UiThread fun startAudioCall() { coreContext.postOnCoreThread { core -> + if (!::address.isInitialized) return@postOnCoreThread coreContext.startAudioCall(address) } } @@ -196,6 +197,7 @@ class HistoryViewModel @UiThread fun startVideoCall() { coreContext.postOnCoreThread { core -> + if (!::address.isInitialized) return@postOnCoreThread coreContext.startVideoCall(address) } } @@ -215,6 +217,8 @@ class HistoryViewModel @UiThread fun goToConversation() { coreContext.postOnCoreThread { core -> + if (!::address.isInitialized) return@postOnCoreThread + val account = core.defaultAccount val localSipUri = account?.params?.identityAddress?.asStringUriOnly() if (!localSipUri.isNullOrEmpty()) { @@ -312,9 +316,8 @@ class HistoryViewModel @UiThread fun goToMeetingWaitingRoom() { coreContext.postOnCoreThread { - if (::address.isInitialized) { - conferenceToJoinEvent.postValue(Event(address.asStringUriOnly())) - } + if (!::address.isInitialized) return@postOnCoreThread + conferenceToJoinEvent.postValue(Event(address.asStringUriOnly())) } }