diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-10-02 18:54:21 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-10-02 18:54:21 +0200 |
commit | cc76e15b95af16a2030b02b9a5035126d3ba18da (patch) | |
tree | a9b5546f7a8674c33f49a1c1b6b14315ad87f5c4 | |
parent | f8be57d43f83925d7f298ee1d34ef8cee32acec3 (diff) |
avoided unecessary message searchs
-rw-r--r-- | src/eu/siacs/conversations/services/XmppConnectionService.java | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java index ffef19ed..ea2b5903 100644 --- a/src/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/eu/siacs/conversations/services/XmppConnectionService.java @@ -1533,26 +1533,34 @@ public class XmppConnectionService extends Service { public boolean markMessage(Account account, String recipient, String uuid, int status) { - for (Conversation conversation : getConversations()) { - if (conversation.getContactJid().equals(recipient) - && conversation.getAccount().equals(account)) { - return markMessage(conversation, uuid, status); + if (uuid == null) { + return false; + } else { + for (Conversation conversation : getConversations()) { + if (conversation.getContactJid().equals(recipient) + && conversation.getAccount().equals(account)) { + return markMessage(conversation, uuid, status); + } } + return false; } - return false; } public boolean markMessage(Conversation conversation, String uuid, int status) { - for (Message message : conversation.getMessages()) { - if (message.getUuid().equals(uuid) - || (message.getStatus() >= Message.STATUS_SEND && uuid - .equals(message.getRemoteMsgId()))) { - markMessage(message, status); - return true; + if (uuid == null) { + return false; + } else { + for (Message message : conversation.getMessages()) { + if (uuid.equals(message.getUuid()) + || (message.getStatus() >= Message.STATUS_SEND && uuid + .equals(message.getRemoteMsgId()))) { + markMessage(message, status); + return true; + } } + return false; } - return false; } public void markMessage(Message message, int status) { |