only overwrite body in text messages

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/Message.java                 | 5 
src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java      | 1 
src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java | 2 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java   | 4 
4 files changed, 10 insertions(+), 2 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Message.java 🔗

@@ -890,6 +890,11 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
         return type == TYPE_FILE || type == TYPE_IMAGE || type == TYPE_PRIVATE_FILE;
     }
 
+
+    public boolean isTypeText() {
+        return type == TYPE_TEXT || type == TYPE_PRIVATE;
+    }
+
     public boolean hasFileOnRemoteHost() {
         return isFileOrImage() && getFileParams().url != null;
     }

src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java 🔗

@@ -68,7 +68,7 @@ public class ChannelDiscoveryService {
     }
 
     void discover(@NonNull final String query, Method method, OnChannelSearchResultsFound onChannelSearchResultsFound) {
-        List<Room> result = cache.getIfPresent(key(method, query));
+        final List<Room> result = cache.getIfPresent(key(method, query));
         if (result != null) {
             onChannelSearchResultsFound.onChannelSearchResultsFound(result);
             return;

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -3961,7 +3961,9 @@ public class XmppConnectionService extends Service {
                 if (message.getServerMsgId() == null) {
                     message.setServerMsgId(serverMessageId);
                 }
-                if (message.getEncryption() == Message.ENCRYPTION_NONE && isBodyModified(message, body)) {
+                if (message.getEncryption() == Message.ENCRYPTION_NONE
+                        && message.isTypeText()
+                        && isBodyModified(message, body)) {
                     message.setBody(body.content);
                     if (body.count > 1) {
                         message.setBodyLanguage(body.language);