diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index d499830d034cf87e519257da173f64e29a5a05e1..2c050df86b15da79451af620c406861cb6ad3ab0 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -1613,37 +1613,14 @@ public class Conversation extends AbstractEntity } public void addAll(int index, List messages, boolean fromPagination) { - if (messages.isEmpty()) return; checkSpam(messages.toArray(new Message[0])); - List newM = new ArrayList<>(); - - if (nextCounterpart == null) { - for(Message m : messages) { - if (!m.isPrivateMessage() && m.encryption != Message.ENCRYPTION_OTR) { - newM.add(m); - } - } - - } else { - for(Message m : messages) { - String res1 = m.getCounterpart() == null ? null : m.getCounterpart().getResource(); - String res2 = nextCounterpart == null ? null : nextCounterpart.getResource(); - - - if ((m.isPrivateMessage() || m.encryption == Message.ENCRYPTION_OTR) && Objects.equals(res1, res2)) { - newM.add(m); - } - } - - } - synchronized (this.messages) { List properListToAdd; - if (fromPagination && !historyPartMessages.isEmpty() && checkIsMergeable(newM)) { - historyPartMessages.addAll(newM); - newM = filterExisted(historyPartMessages); + if (fromPagination && !historyPartMessages.isEmpty() && checkIsMergeable(messages)) { + historyPartMessages.addAll(messages); + messages = filterExisted(historyPartMessages); index = 0; jumpToLatest(); } @@ -1655,9 +1632,9 @@ public class Conversation extends AbstractEntity } if (index == -1) { - properListToAdd.addAll(newM); + properListToAdd.addAll(messages); } else { - properListToAdd.addAll(index, newM); + properListToAdd.addAll(index, messages); } } account.getPgpDecryptionService().decrypt(messages);