From 575384a08d3eeaa09ba1db8a8ba88b13a530f838 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 19 Sep 2026 09:39:55 +0200 Subject: [PATCH] Always bind media --- .../eu/faircode/email/AdapterMessage.java | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7041a980a8..2b1ad49825 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -2176,7 +2176,7 @@ public class AdapterMessage extends RecyclerView.Adapter attachments = (attachments_alt ? new ArrayList<>() : properties.getAttachments(message.id)); - bindAttachments(message, attachments, false); + bindAttachments(message, attachments, false, false); // Actions vSeparator.setVisibility(View.VISIBLE); @@ -2308,7 +2308,7 @@ public class AdapterMessage extends RecyclerView.Adapter lastInlineImages && (show_images || inline))) bindBody(message, false); - bindAttachments(message, attachments, true); + bindAttachments(message, attachments, true, true); if (!scroll) properties.ready(message.id); @@ -2354,7 +2354,7 @@ public class AdapterMessage extends RecyclerView.Adapter attachments, boolean bind_extras) { + private void bindAttachments(final TupleMessageEx message, @Nullable List attachments, + boolean bind_extras, boolean bind_media) { if (attachments == null) attachments = new ArrayList<>(); properties.setAttachments(message.id, attachments); @@ -3848,31 +3849,33 @@ public class AdapterMessage extends RecyclerView.Adapter media = new ArrayList<>(); - if (thumbnails && !EntityFolder.JUNK.equals(message.folderType) && bind_extras) { - for (EntityAttachment attachment : attachments) { - String type = attachment.getMimeType(); - if ((pdf_preview && attachment.isPDF()) || - (video_preview && attachment.isVideo()) || - (audio_preview && attachment.isAudio()) || - (attachment.isAttachment() && attachment.isImage() && - (!"image/svg+xml".equalsIgnoreCase(type) || svg) && - (!"image/webp".equalsIgnoreCase(type) || webp))) { - media.add(attachment); - if (attachment.available && - attachment.isAttachment() && attachment.isImage()) - iavailable++; + if (bind_media) { + int iavailable = 0; + List media = new ArrayList<>(); + if (thumbnails && !EntityFolder.JUNK.equals(message.folderType)) { + for (EntityAttachment attachment : attachments) { + String type = attachment.getMimeType(); + if ((pdf_preview && attachment.isPDF()) || + (video_preview && attachment.isVideo()) || + (audio_preview && attachment.isAudio()) || + (attachment.isAttachment() && attachment.isImage() && + (!"image/svg+xml".equalsIgnoreCase(type) || svg) && + (!"image/webp".equalsIgnoreCase(type) || webp))) { + media.add(attachment); + if (attachment.available && + attachment.isAttachment() && attachment.isImage()) + iavailable++; + } } } - } - adapterMedia.set(media); - grpMedia.setVisibility(media.size() > 0 ? View.VISIBLE : View.GONE); + adapterMedia.set(media); + grpMedia.setVisibility(media.size() > 0 ? View.VISIBLE : View.GONE); - ibStoreMedia.setVisibility( - iavailable > 0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q - ? View.VISIBLE : View.GONE); - ibShareImages.setVisibility(iavailable > 0 ? View.VISIBLE : View.GONE); + ibStoreMedia.setVisibility( + iavailable > 0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q + ? View.VISIBLE : View.GONE); + ibShareImages.setVisibility(iavailable > 0 ? View.VISIBLE : View.GONE); + } } private void bindCalendar(final TupleMessageEx message, EntityAttachment attachment) { @@ -5738,13 +5741,13 @@ public class AdapterMessage extends RecyclerView.Adapter