diff --git a/src/eu/siacs/conversations/entities/Conversation.java b/src/eu/siacs/conversations/entities/Conversation.java index 83ea8931b..76fe84cfe 100644 --- a/src/eu/siacs/conversations/entities/Conversation.java +++ b/src/eu/siacs/conversations/entities/Conversation.java @@ -395,13 +395,4 @@ public class Conversation extends AbstractEntity { public Bookmark getBookmark() { return this.bookmark; } - - public void failWaitingOtrMessages() { - for (Message message : this.messages) { - if (message.getEncryption() == Message.ENCRYPTION_OTR - && message.getStatus() == Message.STATUS_WAITING) { - message.setStatus(Message.STATUS_SEND_FAILED); - } - } - } } diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java index 155478b1b..5d4064eaa 100644 --- a/src/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/eu/siacs/conversations/services/XmppConnectionService.java @@ -519,13 +519,13 @@ public class XmppConnectionService extends Service { } } else if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) { message.getConversation().endOtrIfNeeded(); - message.getConversation().failWaitingOtrMessages(); + failWaitingOtrMessages(message.getConversation()); packet = mMessageGenerator.generatePgpChat(message); message.setStatus(Message.STATUS_SEND); send = true; } else { message.getConversation().endOtrIfNeeded(); - message.getConversation().failWaitingOtrMessages(); + failWaitingOtrMessages(message.getConversation()); if (message.getConversation().getMode() == Conversation.MODE_SINGLE) { message.setStatus(Message.STATUS_SEND); } @@ -1318,6 +1318,15 @@ public class XmppConnectionService extends Service { this.sendMessagePacket(conversation.getAccount(), mMessageGenerator.confirm(account, to, id)); } } + + public void failWaitingOtrMessages(Conversation conversation) { + for (Message message : conversation.getMessages()) { + if (message.getEncryption() == Message.ENCRYPTION_OTR + && message.getStatus() == Message.STATUS_WAITING) { + markMessage(message, Message.STATUS_SEND_FAILED); + } + } + } public SecureRandom getRNG() { return this.mRandom;