deduplicate corrected messages
This commit is contained in:
parent
82c2e89d21
commit
b8f67bfaa3
|
@ -411,15 +411,18 @@ public class Message extends AbstractEntity {
|
||||||
body = this.body;
|
body = this.body;
|
||||||
otherBody = message.body;
|
otherBody = message.body;
|
||||||
}
|
}
|
||||||
|
final boolean matchingCounterpart = this.counterpart.equals(message.getCounterpart());
|
||||||
if (message.getRemoteMsgId() != null) {
|
if (message.getRemoteMsgId() != null) {
|
||||||
|
final boolean hasUuid = CryptoHelper.UUID_PATTERN.matcher(message.getRemoteMsgId()).matches();
|
||||||
|
if (hasUuid && this.edited != null && matchingCounterpart && this.edited.equals(message.getRemoteMsgId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
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())
|
&& matchingCounterpart
|
||||||
&& (body.equals(otherBody)
|
&& (body.equals(otherBody) ||(message.getEncryption() == Message.ENCRYPTION_PGP && hasUuid));
|
||||||
||(message.getEncryption() == Message.ENCRYPTION_PGP
|
|
||||||
&& CryptoHelper.UUID_PATTERN.matcher(message.getRemoteMsgId()).matches()));
|
|
||||||
} else {
|
} else {
|
||||||
return this.remoteMsgId == null
|
return this.remoteMsgId == null
|
||||||
&& this.counterpart.equals(message.getCounterpart())
|
&& matchingCounterpart
|
||||||
&& body.equals(otherBody)
|
&& body.equals(otherBody)
|
||||||
&& Math.abs(this.getTimeSent() - message.getTimeSent()) < Config.MESSAGE_MERGE_WINDOW * 1000;
|
&& Math.abs(this.getTimeSent() - message.getTimeSent()) < Config.MESSAGE_MERGE_WINDOW * 1000;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue