From c9b68fd05b23cff3b8fb01601462259a012241ab Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 14:57:28 +0200 Subject: [PATCH] Hide copy text context menu option if message has no text + hide sender in IMDN view for incoming messages --- src/android/org/linphone/chat/GroupChatFragment.java | 4 ++++ src/android/org/linphone/chat/ImdnFragment.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 3798ccebd..0b11e626b 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -351,6 +351,10 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con // Do not show incoming messages IDMN state in 1 to 1 chat room as we don't receive IMDN for them menu.removeItem(R.id.imdn_infos); } + if (!message.hasTextContent()) { + // Do not show copy text option if message doesn't have any text + menu.removeItem(R.id.copy_text); + } } @Override diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index 112415db7..a41489930 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -198,6 +198,8 @@ public class ImdnFragment extends Fragment { boolean first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -220,6 +222,8 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -242,6 +246,8 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address);