aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/parser/MessageParser.java
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-12-09 21:41:49 +0100
committeriNPUTmice <daniel@gultsch.de>2014-12-10 14:08:06 +0100
commitccdb0fd9717fcc79374b55e741bc03eb02fe526d (patch)
treed8096bc376ce5d6f938ecaee94e3e82eef0d76ec /src/main/java/eu/siacs/conversations/parser/MessageParser.java
parent0ab530932ae559d9b2a0dd8cbc57530fa8552319 (diff)
save server id from mam messages. check for dups before adding mam
Diffstat (limited to 'src/main/java/eu/siacs/conversations/parser/MessageParser.java')
-rw-r--r--src/main/java/eu/siacs/conversations/parser/MessageParser.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
index 3714ac90..9944f364 100644
--- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java
+++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
@@ -320,7 +320,14 @@ public class MessageParser extends AbstractParser implements
Message finishedMessage = new Message(conversation,content,encryption,status);
finishedMessage.setTime(timestamp);
finishedMessage.setCounterpart(counterpart);
- Log.d(Config.LOGTAG,"received mam message "+content);
+ finishedMessage.setRemoteMsgId(message.getAttribute("id"));
+ finishedMessage.setServerMsgId(result.getAttribute("id"));
+ if (conversation.hasDuplicateMessage(finishedMessage)) {
+ Log.d(Config.LOGTAG, "received mam message " + content+ " (duplicate)");
+ return null;
+ } else {
+ Log.d(Config.LOGTAG, "received mam message " + content);
+ }
return finishedMessage;
}