diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-12-09 21:41:49 +0100 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-12-09 21:41:49 +0100 |
commit | 470928e919c70045c9b9d385c0eaaa0dd7141693 (patch) | |
tree | bd3381efc1e00f5952a0399aeba46b479ac24167 /src/main/java/eu/siacs/conversations/parser/MessageParser.java | |
parent | 94b0845cc1b15fd998092c72144aed44634c311e (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.java | 9 |
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; } |