aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/util/MucDetailsContextMenuHelper.java
diff options
context:
space:
mode:
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.java17
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);