From 3ba46dc9abe6ef720cf644a630ff70f462126f24 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 13 Jul 2022 18:43:40 +0200 Subject: [PATCH] Remove secure chat button if LIME server or conference factory URI isn't set --- .../activities/main/contact/viewmodels/ContactViewModel.kt | 4 ++-- .../activities/main/history/viewmodels/CallLogViewModel.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt index 58e02e2ac..3adb1028b 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactViewModel.kt @@ -204,7 +204,7 @@ class ContactViewModel(friend: Friend, async: Boolean = false) : MessageNotifier val presenceModel = friend.getPresenceModelForUriOrTel(value) val hasPresence = presenceModel?.basicStatus == PresenceBasicStatus.Open val isMe = coreContext.core.defaultAccount?.params?.identityAddress?.weakEqual(address) ?: false - val secureChatAllowed = !isMe && friend.getPresenceModelForUriOrTel(value)?.hasCapability(FriendCapability.LimeX3Dh) ?: false + val secureChatAllowed = LinphoneUtils.isLimeAvailable() && !isMe && friend.getPresenceModelForUriOrTel(value)?.hasCapability(FriendCapability.LimeX3Dh) ?: false val displayValue = if (coreContext.core.defaultAccount?.params?.domain == address.domain) (address.username ?: value) else value val noa = ContactNumberOrAddressData(address, hasPresence, displayValue, showSecureChat = secureChatAllowed, listener = listener) list.add(noa) @@ -218,7 +218,7 @@ class ContactViewModel(friend: Friend, async: Boolean = false) : MessageNotifier val address = coreContext.core.interpretUrl(contactAddress) address?.displayName = displayName.value.orEmpty() val isMe = if (address != null) coreContext.core.defaultAccount?.params?.identityAddress?.weakEqual(address) ?: false else false - val secureChatAllowed = !isMe && friend.getPresenceModelForUriOrTel(number)?.hasCapability(FriendCapability.LimeX3Dh) ?: false + val secureChatAllowed = LinphoneUtils.isLimeAvailable() && !isMe && friend.getPresenceModelForUriOrTel(number)?.hasCapability(FriendCapability.LimeX3Dh) ?: false val label = PhoneNumberUtils.vcardParamStringToAddressBookLabel(coreContext.context.resources, phoneNumber.label ?: "") val noa = ContactNumberOrAddressData(address, hasPresence, number, isSip = false, showSecureChat = secureChatAllowed, typeLabel = label, listener = listener) list.add(noa) diff --git a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt index c31ae9331..cf769dffa 100644 --- a/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/history/viewmodels/CallLogViewModel.kt @@ -99,7 +99,7 @@ class CallLogViewModel(val callLog: CallLog, private val isRelated: Boolean = fa val chatAllowed = !corePreferences.disableChat - val secureChatAllowed = contact.value?.getPresenceModelForUriOrTel(peerSipUri)?.hasCapability(FriendCapability.LimeX3Dh) ?: false + val secureChatAllowed = LinphoneUtils.isLimeAvailable() && (contact.value?.getPresenceModelForUriOrTel(peerSipUri)?.hasCapability(FriendCapability.LimeX3Dh) ?: false) val relatedCallLogs = MutableLiveData>()