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-09 21:41:49 +0100
commit470928e919c70045c9b9d385c0eaaa0dd7141693 (patch)
treebd3381efc1e00f5952a0399aeba46b479ac24167 /src/main/java/eu/siacs/conversations/parser/MessageParser.java
parent94b0845cc1b15fd998092c72144aed44634c311e (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 c0c874b4..ca970456 100644
--- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java
+++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
@@ -324,7 +324,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;
}