rely on message id if message id is uuid and pgp encryption was used to deduplicate messages. fixes #1357

This commit is contained in:
Daniel Gultsch 2015-12-04 15:34:45 +01:00
parent 242887447c
commit 3e3cb047be

View file

@ -361,7 +361,9 @@ public class Message extends AbstractEntity {
if (message.getRemoteMsgId() != null) { if (message.getRemoteMsgId() != null) {
return (message.getRemoteMsgId().equals(this.remoteMsgId) || message.getRemoteMsgId().equals(this.uuid)) return (message.getRemoteMsgId().equals(this.remoteMsgId) || message.getRemoteMsgId().equals(this.uuid))
&& this.counterpart.equals(message.getCounterpart()) && this.counterpart.equals(message.getCounterpart())
&& body.equals(otherBody); && (body.equals(otherBody)
||(message.getEncryption() == Message.ENCRYPTION_PGP
&& message.getRemoteMsgId().matches("[0-9a-f]{8}-[0-9a-f]{4}-4[0-9]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"))) ;
} else { } else {
return this.remoteMsgId == null return this.remoteMsgId == null
&& this.counterpart.equals(message.getCounterpart()) && this.counterpart.equals(message.getCounterpart())