From 6535128ad1dd41ef8f766f5bc8796908b1ed97ba Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Wed, 14 Feb 2024 01:01:12 -0500 Subject: [PATCH] If there is and attachment it's not subject-only --- .../siacs/conversations/entities/Conversation.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index d428a46c0c19c956dfb888bfc8976407ce9abe9a..a04f8872e40ee073208e24737849b560d7f5ea3f 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -283,7 +283,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl synchronized (this.messages) { for (int i = messages.size() - 1; i >= 0; --i) { final Message message = messages.get(i); - if (message.getSubject() != null && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; + if (message.getSubject() != null && !message.isOOb() && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; if (message.isRead()) { return first; } else { @@ -298,7 +298,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl final boolean multi = mode == Conversation.MODE_MULTI; synchronized (this.messages) { for (final Message message : Lists.reverse(this.messages)) { - if (message.getSubject() != null && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; + if (message.getSubject() != null && !message.isOOb() && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; if (message.getStatus() == Message.STATUS_RECEIVED) { final String serverMsgId = message.getServerMsgId(); if (serverMsgId != null && multi) { @@ -669,14 +669,14 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl thread = new Thread(mthread.getContent()); threads.put(mthread.getContent(), thread); } - if (thread.subject == null && (m.getSubject() != null && (m.getRawBody() == null || m.getRawBody().length() == 0))) { + if (thread.subject == null && (m.getSubject() != null && !m.isOOb() && (m.getRawBody() == null || m.getRawBody().length() == 0))) { thread.subject = m; } else { if (thread.last == null) thread.last = m; thread.first = m; } } - if (m.wasMergedIntoPrevious() || (m.getSubject() != null && (m.getRawBody() == null || m.getRawBody().length() == 0)) || (getLockThread() && !extraIds.contains(m.replyId()) && (mthread == null || !mthread.getContent().equals(getThread() == null ? "" : getThread().getContent())))) { + if (m.wasMergedIntoPrevious() || (m.getSubject() != null && !m.isOOb() && (m.getRawBody() == null || m.getRawBody().length() == 0)) || (getLockThread() && !extraIds.contains(m.replyId()) && (mthread == null || !mthread.getContent().equals(getThread() == null ? "" : getThread().getContent())))) { iterator.remove(); } else if (getLockThread() && mthread != null) { Element reply = m.getReply(); @@ -1297,7 +1297,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl synchronized (this.messages) { int count = 0; for(final Message message : Lists.reverse(this.messages)) { - if (message.getSubject() != null && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; + if (message.getSubject() != null && !message.isOOb() && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; if (message.isRead()) { if (message.getType() == Message.TYPE_RTP_SESSION) { continue; @@ -1314,7 +1314,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl int count = 0; synchronized (this.messages) { for (Message message : messages) { - if (message.getSubject() != null && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; + if (message.getSubject() != null && !message.isOOb() && (message.getRawBody() == null || message.getRawBody().length() == 0)) continue; if (message.getStatus() == Message.STATUS_RECEIVED) { ++count; }