diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java b/src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java index a38286a96..7a3411cfa 100644 --- a/src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java +++ b/src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java @@ -1,6 +1,7 @@ package de.pixart.messenger.ui.util; import android.app.Activity; +import android.graphics.Color; import android.graphics.Typeface; import android.preference.PreferenceManager; import android.text.SpannableString; @@ -14,6 +15,7 @@ import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.ImageView; import androidx.appcompat.app.AlertDialog; @@ -66,6 +68,8 @@ public final class MucDetailsContextMenuHelper { final MucOptions mucOptions = conversation.getMucOptions(); final boolean isGroupChat = mucOptions.isPrivateAndNonAnonymous(); MenuItem title = menu.findItem(R.id.title); + MenuItem showAvatar = menu.findItem(R.id.action_show_avatar); + showAvatar.setVisible(user != null); if (forceContextMenu && username != null) { SpannableStringBuilder menuTitle = new SpannableStringBuilder(username); menuTitle.setSpan(new ForegroundColorSpan(titleColor), 0, menuTitle.length(), 0); @@ -102,7 +106,6 @@ public final class MucDetailsContextMenuHelper { final User self = conversation.getMucOptions().getSelf(); addToRoster.setVisible(contact != null && !contact.showInRoster()); showContactDetails.setVisible(contact == null || !contact.isSelf()); - if ((activity instanceof ConferenceDetailsActivity || activity instanceof MucUsersActivity) && user.getRole() == MucOptions.Role.NONE) { invite.setVisible(true); } @@ -173,6 +176,18 @@ public final class MucDetailsContextMenuHelper { final Account account = conversation.getAccount(); final Contact contact = jid == null ? null : account.getRoster().getContact(jid); switch (item.getItemId()) { + case R.id.action_show_avatar: + final ImageView view = new ImageView(activity); + view.setAdjustViewBounds(true); + view.setMaxHeight(R.dimen.avatar_big); + view.setMaxWidth(R.dimen.avatar_big); + view.setBackgroundColor(Color.WHITE); + view.setScaleType(ImageView.ScaleType.FIT_XY); + AvatarWorkerTask.loadAvatar(user, view, R.dimen.avatar_big); + final AlertDialog.Builder builder = new AlertDialog.Builder(activity); + builder.setView(view); + builder.create().show(); + return true; case R.id.action_contact_details: if (contact != null) { activity.switchToContactDetails(contact, fingerprint); |