diff options
Diffstat (limited to '')
-rw-r--r-- | src/eu/siacs/conversations/entities/Conversation.java | 9 | ||||
-rw-r--r-- | src/eu/siacs/conversations/entities/Message.java | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/eu/siacs/conversations/entities/Conversation.java b/src/eu/siacs/conversations/entities/Conversation.java index be641ea4..ce29301c 100644 --- a/src/eu/siacs/conversations/entities/Conversation.java +++ b/src/eu/siacs/conversations/entities/Conversation.java @@ -399,4 +399,13 @@ public class Conversation extends AbstractEntity { return UIHelper.getContactPicture(this, size, context, false); } } + + public boolean hasDuplicateMessage(Message message) { + for(int i = this.getMessages().size() -1; i >= 0; --i) { + if (this.messages.get(i).equals(message)) { + return true; + } + } + return false; + } } diff --git a/src/eu/siacs/conversations/entities/Message.java b/src/eu/siacs/conversations/entities/Message.java index b669efc5..6d70b66d 100644 --- a/src/eu/siacs/conversations/entities/Message.java +++ b/src/eu/siacs/conversations/entities/Message.java @@ -275,4 +275,12 @@ public class Message extends AbstractEntity { public void setCounterpart(String counterpart) { this.counterpart = counterpart; } + + public boolean equals(Message message) { + if ((this.remoteMsgId!=null) && (this.body != null) && (this.counterpart != null)) { + return this.remoteMsgId.equals(message.getRemoteMsgId()) && this.body.equals(message.getBody()) && this.counterpart.equals(message.getCounterpart()); + } else { + return false; + } + } } |