From 07cb09128ea03451e70e5fdb3983da924868a85c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 10 Mar 2025 16:06:46 +0100 Subject: [PATCH] Show participant SIP URI in reactions / delivery status / conversation participants lists when clicking on name --- .../MessageBottomSheetParticipantModel.kt | 17 +++++++++++++++++ .../ui/main/chat/model/ParticipantModel.kt | 17 +++++++++++++++++ .../chat_message_bottom_sheet_list_cell.xml | 18 +++++++++++++++++- .../res/layout/chat_participant_list_cell.xml | 18 +++++++++++++++++- 4 files changed, 68 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/chat/model/MessageBottomSheetParticipantModel.kt b/app/src/main/java/org/linphone/ui/main/chat/model/MessageBottomSheetParticipantModel.kt index 7983cb9cb..e8e8e158e 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/model/MessageBottomSheetParticipantModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/model/MessageBottomSheetParticipantModel.kt @@ -21,7 +21,9 @@ package org.linphone.ui.main.chat.model import androidx.annotation.UiThread import androidx.annotation.WorkerThread +import androidx.lifecycle.MutableLiveData import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.core.Address class MessageBottomSheetParticipantModel @@ -35,8 +37,23 @@ class MessageBottomSheetParticipantModel ) { val sipUri = address.asStringUriOnly() + val showSipUri = MutableLiveData() + val avatarModel = coreContext.contactsManager.getContactAvatarModelForAddress(address) + init { + showSipUri.postValue(false) + } + + @UiThread + fun toggleShowSipUri() { + if (!isOurOwnReaction && !corePreferences.onlyDisplaySipUriUsername) { + showSipUri.postValue(showSipUri.value == false) + } else { + clicked() + } + } + @UiThread fun clicked() { onClick?.invoke() diff --git a/app/src/main/java/org/linphone/ui/main/chat/model/ParticipantModel.kt b/app/src/main/java/org/linphone/ui/main/chat/model/ParticipantModel.kt index 68ab1b36d..dad8d5b90 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/model/ParticipantModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/model/ParticipantModel.kt @@ -22,7 +22,9 @@ package org.linphone.ui.main.chat.model import android.view.View import androidx.annotation.UiThread import androidx.annotation.WorkerThread +import androidx.lifecycle.MutableLiveData import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.core.Address import org.linphone.ui.main.contacts.model.ContactAvatarModel @@ -39,6 +41,8 @@ class ParticipantModel ) { val sipUri = address.asStringUriOnly() + val showSipUri = MutableLiveData() + val avatarModel: ContactAvatarModel = coreContext.contactsManager.getContactAvatarModelForAddress( address ) @@ -49,6 +53,19 @@ class ParticipantModel avatarModel.friend ) + init { + showSipUri.postValue(false) + } + + @UiThread + fun toggleShowSipUri() { + if (!corePreferences.onlyDisplaySipUriUsername) { + showSipUri.postValue(showSipUri.value == false) + } else { + onClicked() + } + } + @UiThread fun onClicked() { onClicked?.invoke(this) diff --git a/app/src/main/res/layout/chat_message_bottom_sheet_list_cell.xml b/app/src/main/res/layout/chat_message_bottom_sheet_list_cell.xml index ba6f89c8a..2ddf29f03 100644 --- a/app/src/main/res/layout/chat_message_bottom_sheet_list_cell.xml +++ b/app/src/main/res/layout/chat_message_bottom_sheet_list_cell.xml @@ -32,6 +32,7 @@ + + diff --git a/app/src/main/res/layout/chat_participant_list_cell.xml b/app/src/main/res/layout/chat_participant_list_cell.xml index 2f54bef1f..694ac930f 100644 --- a/app/src/main/res/layout/chat_participant_list_cell.xml +++ b/app/src/main/res/layout/chat_participant_list_cell.xml @@ -33,6 +33,7 @@ + +