From a404543789b7df11b6eefaf47f2465da31b15a5f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 2 Nov 2018 14:21:27 +0100 Subject: [PATCH] Fixed 1-1 secure chat room display in chat rooms list --- src/android/org/linphone/chat/ChatRoomViewHolder.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/android/org/linphone/chat/ChatRoomViewHolder.java b/src/android/org/linphone/chat/ChatRoomViewHolder.java index f3b1a05a6..dbe4c03c3 100644 --- a/src/android/org/linphone/chat/ChatRoomViewHolder.java +++ b/src/android/org/linphone/chat/ChatRoomViewHolder.java @@ -40,6 +40,7 @@ import org.linphone.core.ChatMessage; import org.linphone.core.ChatRoom; import org.linphone.core.ChatRoomCapabilities; import org.linphone.core.Content; +import org.linphone.core.Participant; import org.linphone.ui.ContactAvatar; public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { @@ -155,7 +156,15 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View. public void getAvatar(ChatRoom mRoom) { if (mRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) { - LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(mRoom.getPeerAddress()); + LinphoneContact contact = null; + if (mRoom.hasCapability(ChatRoomCapabilities.Basic.toInt())) { + contact = ContactsManager.getInstance().findContactFromAddress(mRoom.getPeerAddress()); + } else { + Participant[] participants = mRoom.getParticipants(); + if (participants != null && participants.length > 0) { + contact = ContactsManager.getInstance().findContactFromAddress(participants[0].getAddress()); + } + } if (contact != null) { if (mRoom.hasCapability(ChatRoomCapabilities.Encrypted.toInt())) { ContactAvatar.displayAvatar(contact, mRoom.getSecurityLevel(), avatarLayout);