diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 0c33e500a7bac1d81573adab3bdd123d5be49338..dfa0398d07338f8c3249c32d8b17bf03004ca01c 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -855,6 +855,7 @@ public class MessageAdapter extends ArrayAdapter { viewHolder.image.setVisibility(View.GONE); viewHolder.audioPlayer.setVisibility(View.GONE); viewHolder.download_button.setVisibility(View.VISIBLE); + viewHolder.download_button.setIconResource(0); viewHolder.download_button.setText("Open " + webxdc.getName()); viewHolder.download_button.setOnClickListener(v -> { Conversation conversation = (Conversation) message.getConversation(); @@ -862,6 +863,12 @@ public class MessageAdapter extends ArrayAdapter { conversation.startWebxdc(webxdc); } }); + viewHolder.image.setOnClickListener(v -> { + Conversation conversation = (Conversation) message.getConversation(); + if (!conversation.switchToSession("webxdc\0" + message.getUuid())) { + conversation.startWebxdc(webxdc); + } + }); final WebxdcUpdate lastUpdate; synchronized(lastWebxdcUpdate) { lastUpdate = lastWebxdcUpdate.get(message.getUuid()); } @@ -896,6 +903,7 @@ public class MessageAdapter extends ArrayAdapter { } else { viewHolder.image.setVisibility(View.VISIBLE); viewHolder.image.setImageDrawable(d); + imagePreviewLayout(d.getIntrinsicWidth(), d.getIntrinsicHeight(), viewHolder.image, message.getInReplyTo() != null, true, type, viewHolder); } }