diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 9cd3e2627..5880dfa56 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -3964,7 +3964,7 @@ public class XmppConnectionService extends Service { if (message.getServerMsgId() == null) { message.setServerMsgId(serverMessageId); } - if (body != null && body.content != null && !body.content.equals(message.getBody())) { + if (message.getEncryption() == Message.ENCRYPTION_NONE && isBodyModified(message, body)) { message.setBody(body.content); if (body.count > 1) { message.setBodyLanguage(body.language); @@ -3980,6 +3980,13 @@ public class XmppConnectionService extends Service { } } + private static boolean isBodyModified(final Message message, final LocalizedContent body) { + if (body == null || body.content == null) { + return false; + } + return !body.content.equals(message.getBody()); + } + public void markMessage(Message message, int status) { markMessage(message, status, null); }