From 5d6876e3131c620c3dbcf840c9395fe796c42a5f Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 4 May 2019 15:37:16 +0200 Subject: small message optimizations --- src/main/java/de/pixart/messenger/entities/Message.java | 4 ++-- .../de/pixart/messenger/ui/ConversationFragment.java | 2 +- .../de/pixart/messenger/ui/adapter/MessageAdapter.java | 17 +++++++++-------- 3 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src/main/java/de') diff --git a/src/main/java/de/pixart/messenger/entities/Message.java b/src/main/java/de/pixart/messenger/entities/Message.java index 61ed8af6d..2a864f914 100644 --- a/src/main/java/de/pixart/messenger/entities/Message.java +++ b/src/main/java/de/pixart/messenger/entities/Message.java @@ -614,10 +614,10 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable !this.treatAsDownloadable() && !message.getBody().startsWith(ME_COMMAND) && !this.getBody().startsWith(ME_COMMAND) && - !this.bodyIsOnlyEmojis() && !message.bodyIsOnlyEmojis() && - !this.isXmppUri() && + !this.bodyIsOnlyEmojis() && !message.isXmppUri() && + !this.isXmppUri() && ((this.axolotlFingerprint == null && message.axolotlFingerprint == null) || this.axolotlFingerprint.equals(message.getFingerprint())) && UIHelper.sameDay(message.getTimeSent(), this.getTimeSent()) && this.getReadByMarkers().equals(message.getReadByMarkers()) && diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index d16fad5c5..eeb0b8e18 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -253,7 +253,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke public void onScroll(final AbsListView view, int firstVisibleItem, int visibleItemCount, final int totalItemCount) { toggleScrollDownButton(view); synchronized (ConversationFragment.this.messageList) { - if (firstVisibleItem < 25 && conversation != null && conversation.messagesLoaded.compareAndSet(true, false) && messageList.size() > 0) { + if (firstVisibleItem < 5 && conversation != null && conversation.messagesLoaded.compareAndSet(true, false) && messageList.size() > 0) { long timestamp; if (messageList.get(0).getType() == Message.TYPE_STATUS && messageList.size() >= 2) { timestamp = messageList.get(1).getTimeSent(); diff --git a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java index fcc317de9..4cdefccc3 100644 --- a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java +++ b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java @@ -691,7 +691,6 @@ public class MessageAdapter extends ArrayAdapter implements CopyTextVie viewHolder.image.setVisibility(View.GONE); viewHolder.gifImage.setVisibility(View.GONE); Editable body = new SpannableStringBuilder(message.getBody()); - listSelectionManager.onUpdate(viewHolder.messageBody, message); final boolean dataSaverDisabled = activity.xmppConnectionService.isDataSaverDisabled(); viewHolder.richlinkview.setVisibility(View.VISIBLE); if (mShowLinksInside) { @@ -863,27 +862,29 @@ public class MessageAdapter extends ArrayAdapter implements CopyTextVie privateMarker = activity.getString(R.string.private_message_to, Strings.nullToEmpty(cp == null ? null : cp.getResource())); } body = new SpannableStringBuilder(privateMarker); + viewHolder.messageBody.setVisibility(View.VISIBLE); if (includeBody) { body.append("\n"); body.append(message.getBody()); - MyLinkify.addLinks(body, false); - viewHolder.messageBody.setAutoLinkMask(0); - viewHolder.messageBody.setTextIsSelectable(true); - viewHolder.messageBody.setMovementMethod(ClickableMovementMethod.getInstance()); } body.setSpan(new ForegroundColorSpan(getMessageTextColor(darkBackground, false)), 0, privateMarker.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); body.setSpan(new StyleSpan(Typeface.BOLD), 0, privateMarker.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + MyLinkify.addLinks(body, false); + viewHolder.messageBody.setAutoLinkMask(0); viewHolder.messageBody.setText(body); - viewHolder.messageBody.setVisibility(View.VISIBLE); + viewHolder.messageBody.setTextIsSelectable(true); + viewHolder.messageBody.setMovementMethod(ClickableMovementMethod.getInstance()); + listSelectionManager.onUpdate(viewHolder.messageBody, message); } else { if (includeBody) { + viewHolder.messageBody.setVisibility(View.VISIBLE); body = new SpannableStringBuilder(message.getBody()); MyLinkify.addLinks(body, false); - viewHolder.messageBody.setVisibility(View.VISIBLE); - viewHolder.messageBody.setText(body); viewHolder.messageBody.setAutoLinkMask(0); + viewHolder.messageBody.setText(body); viewHolder.messageBody.setTextIsSelectable(true); viewHolder.messageBody.setMovementMethod(ClickableMovementMethod.getInstance()); + listSelectionManager.onUpdate(viewHolder.messageBody, message); } else { viewHolder.messageBody.setVisibility(View.GONE); } -- cgit v1.2.3