diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-09-22 15:12:16 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-09-22 15:12:16 +0200 |
commit | 523f5a14a244c6270130de30f7758a20e6b9aa79 (patch) | |
tree | c540e79f7fc9f3082a3cee4ffd05df2e19920a91 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java | |
parent | 541ac49fedd93c1f28d974647145ab3eb686bc13 (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.java | 28 |
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; |