From 69b82e995442f27f27bf144f7234162fe9bb19db Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 27 Mar 2024 10:16:29 +0100 Subject: [PATCH] Fixed allowEndToEndEncryptedChatWithoutPresence setting + added the same one but for group chat --- .../main/chat/fragments/ChatRoomCreationFragment.kt | 8 ++++++-- app/src/main/java/org/linphone/core/CorePreferences.kt | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt index 95b480e95..6f7b4b078 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt @@ -63,7 +63,9 @@ class ChatRoomCreationFragment : SecureFragment binding.viewModel = viewModel adapter = ContactsSelectionAdapter(viewLifecycleOwner) - adapter.setGroupChatCapabilityRequired(viewModel.createGroupChat.value == true) + adapter.setGroupChatCapabilityRequired( + viewModel.createGroupChat.value == true && !corePreferences.allowGroupChatWithoutPresence + ) adapter.setLimeCapabilityRequired( viewModel.isEncrypted.value == true && !corePreferences.allowEndToEndEncryptedChatWithoutPresence ) @@ -96,7 +98,9 @@ class ChatRoomCreationFragment : SecureFragment viewModel.isEncrypted.observe( viewLifecycleOwner ) { - adapter.setLimeCapabilityRequired(it) + adapter.setLimeCapabilityRequired( + it && !corePreferences.allowEndToEndEncryptedChatWithoutPresence + ) } viewModel.sipContactsSelected.observe( diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index e65c90932..dc224208f 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -502,6 +502,10 @@ class CorePreferences constructor(private val context: Context) { val allowEndToEndEncryptedChatWithoutPresence: Boolean get() = config.getBool("app", "allow_lime_friend_without_capability", false) + // Turning this ON will show the group chat button even if there is no conference capability in presence (or no presence) + val allowGroupChatWithoutPresence: Boolean + get() = config.getBool("app", "allow_group_friend_without_capability", false) + val showEmojiPickerButton: Boolean get() = config.getBool("app", "show_emoji_picker", true)