diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-06-15 14:29:25 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-06-19 20:07:56 +0200 |
commit | 19cd1ef23438829b36b189eca18cbb98ddf5fbae (patch) | |
tree | 8a8c824374a70e0301e898bdfef41b1b0bf1d0d8 /src/main/java/eu | |
parent | 018ee63ef49c504d8874aa4c122d2f9494473817 (diff) |
replace corrected messages in decryption queue
Diffstat (limited to 'src/main/java/eu')
-rw-r--r-- | src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java | 5 | ||||
-rw-r--r-- | src/main/java/eu/siacs/conversations/parser/MessageParser.java | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java b/src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java index 45dfd7d92..07de11649 100644 --- a/src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java +++ b/src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java @@ -71,6 +71,11 @@ public class PgpDecryptionService { this.pendingNotifications.removeAll(discards); } + public synchronized void discard(Message message) { + this.messages.remove(message); + this.pendingNotifications.remove(message); + } + protected synchronized void decryptNext() { if (pendingIntent == null && getOpenPgpApi() != null diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 1dd8026ba..f965e561f 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -483,6 +483,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece sendMessageReceipts(account, packet); } if (replacedMessage.getEncryption() == Message.ENCRYPTION_PGP) { + conversation.getAccount().getPgpDecryptionService().discard(replacedMessage); conversation.getAccount().getPgpDecryptionService().decrypt(replacedMessage, false); } return; |