aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-09-22 15:12:16 +0200
committerChristian Schneppe <christian@pix-art.de>2019-09-22 15:12:16 +0200
commit523f5a14a244c6270130de30f7758a20e6b9aa79 (patch)
treec540e79f7fc9f3082a3cee4ffd05df2e19920a91 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java
parent541ac49fedd93c1f28d974647145ab3eb686bc13 (diff)
show username as title in context menu when long clicking avatar in MUC
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index 296b1b215..ac88e2870 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -3078,7 +3078,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
final User user = userByRealJid != null ? userByRealJid : conversation.getMucOptions().findUserByFullJid(cp);
popupMenu.inflate(R.menu.muc_details_context);
final Menu menu = popupMenu.getMenu();
- MucDetailsContextMenuHelper.configureMucDetailsContextMenu(activity, menu, conversation, user);
+ MucDetailsContextMenuHelper.configureMucDetailsContextMenu(activity, menu, conversation, user, true, getUsername(message));
popupMenu.setOnMenuItemClickListener(menuItem -> MucDetailsContextMenuHelper.onContextItemSelected(menuItem, user, activity, fingerprint));
} else {
popupMenu.inflate(R.menu.one_on_one_context);
@@ -3112,6 +3112,32 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
popupMenu.show();
}
+ private String getUsername(Message message) {
+ String user;
+ try {
+ final Contact contact = message.getContact();
+ if (conversation.getMode() == Conversation.MODE_MULTI) {
+ if (contact != null) {
+ user = contact.getDisplayName();
+ } else {
+ user = UIHelper.getDisplayedMucCounterpart(message.getCounterpart());
+ }
+ } else {
+ user = contact != null ? contact.getDisplayName() : null;
+ }
+ if (message.getStatus() == Message.STATUS_SEND
+ || message.getStatus() == Message.STATUS_SEND_FAILED
+ || message.getStatus() == Message.STATUS_SEND_RECEIVED
+ || message.getStatus() == Message.STATUS_SEND_DISPLAYED) {
+ user = getString(R.string.me);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ user = null;
+ }
+ return user;
+ }
+
@Override
public void onContactPictureClicked(Message message) {
String fingerprint;