From da1cf00c572096fbc63dff35b0f7439889c6efa5 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 22 Sep 2019 20:34:41 +0200 Subject: [PATCH] Scroll after loading images --- .../eu/faircode/email/AdapterMessage.java | 63 +++++++++---------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7865eacfe7..71643c7129 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -965,7 +965,7 @@ public class AdapterMessage extends RecyclerView.Adapter>() { - private int lastInlineImages = 0; - - @Override - public void onChanged(@Nullable List attachments) { - bindAttachments(message, attachments); - - int inlineImages = 0; - if (attachments != null) - for (EntityAttachment attachment : attachments) - if (attachment.available && attachment.isInline() && attachment.isImage()) - inlineImages++; - - if (inlineImages != lastInlineImages) { - lastInlineImages = inlineImages; - loadText(message, false); - } - } - }); // Setup actions Bundle sargs = new Bundle(); @@ -1193,12 +1173,32 @@ public class AdapterMessage extends RecyclerView.Adapter>() { + private int lastInlineImages = 0; + + @Override + public void onChanged(@Nullable List attachments) { + bindAttachments(message, attachments); + + int inlineImages = 0; + if (attachments != null) + for (EntityAttachment attachment : attachments) + if (attachment.available && attachment.isInline() && attachment.isImage()) + inlineImages++; + + if (inlineImages != lastInlineImages) { + lastInlineImages = inlineImages; + loadText(message); + } + + if (scroll) + properties.scrollTo(getAdapterPosition()); + } + }); } private void bindAttachments(final TupleMessageEx message, @Nullable List attachments) { @@ -2117,7 +2117,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0) { properties.setValue("quotes", message.id, true); - loadText(message, false); + loadText(message); } }