diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-01-06 12:59:13 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2016-01-06 12:59:13 +0100 |
commit | c59eb75a59d2fbddea2a42e7d2435e7312f5c759 (patch) | |
tree | 3f896149e43f087c842ec4392b0d01fe7ceb8ac5 /src/main/java/eu/siacs/conversations | |
parent | c3e2d2cfba9813b217d5606607f207449d2e6d20 (diff) |
avoid duplicate messages when sending files to mucs. fixes #1635
Diffstat (limited to 'src/main/java/eu/siacs/conversations')
-rw-r--r-- | src/main/java/eu/siacs/conversations/entities/Conversation.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 7793cc23b..f34641ab9 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -693,8 +693,16 @@ public class Conversation extends AbstractEntity implements Blockable { synchronized (this.messages) { for (int i = this.messages.size() - 1; i >= 0; --i) { Message message = this.messages.get(i); - if ((message.getStatus() == Message.STATUS_UNSEND || message.getStatus() == Message.STATUS_SEND) && message.getBody() != null && message.getBody().equals(body)) { - return message; + if (message.getStatus() == Message.STATUS_UNSEND || message.getStatus() == Message.STATUS_SEND) { + String otherBody; + if (message.hasFileOnRemoteHost()) { + otherBody = message.getFileParams().url.toString(); + } else { + otherBody = message.body; + } + if (otherBody != null && otherBody.equals(body)) { + return message; + } } } return null; |