When MUC strips image, show body

Stephen Paul Weber created

Change summary

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

Detailed changes

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

@@ -1388,7 +1388,12 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
     }
 
     public synchronized void resetFileParams() {
+        this.oob = false;
         this.fileParams = null;
+        this.transferable = null;
+        this.payloads.removeAll(getSims());
+        clearFallbacks(Namespace.OOB);
+        setType(isPrivateMessage() ? TYPE_PRIVATE : TYPE_TEXT);
     }
 
     public synchronized void setFileParams(FileParams fileParams) {

src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java 🔗

@@ -319,7 +319,7 @@ public class HttpDownloadConnection implements Transferable {
             FileBackend.updateFileParams(message, fileParams.url, size);
             mXmppConnectionService.databaseBackend.updateMessage(message, true);
             file.setExpectedSize(size);
-            message.resetFileParams();
+            message.setFileParams(null);
             if (mHttpConnectionManager.hasStoragePermission()
                     && size <= mHttpConnectionManager.getAutoAcceptFileSize()
                     && mXmppConnectionService.isDataSaverDisabled()) {

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

@@ -5002,8 +5002,8 @@ public class XmppConnectionService extends Service {
                     message.setSubject(subject);
                     message.setThread(thread);
                     if (attachments != null && attachments.isEmpty()) {
-                        message.setFileParams(null);
                         message.setRelativeFilePath(null);
+                        message.resetFileParams();
                     }
                     markMessage(message, status, null, true);
                 } else {