overwrite body for plaintext group chat messages only

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 9 
1 file changed, 8 insertions(+), 1 deletion(-)

Detailed changes

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);
     }