From d2c475d50118cd606a37ceaa00d090f065bf357f Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sun, 4 Sep 2016 22:59:15 +0200 Subject: [PATCH] don't crash when correcting waiting pgp encrypted messages --- .../services/XmppConnectionService.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 19d1186be..d0f2754cb 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -1124,10 +1124,18 @@ public class XmppConnectionService extends Service { String decryptedBody = message.getBody(); message.setBody(pgpBody); message.setEncryption(Message.ENCRYPTION_PGP); - databaseBackend.createMessage(message); - saveInDb = false; - message.setBody(decryptedBody); - message.setEncryption(Message.ENCRYPTION_DECRYPTED); + if (message.edited()) { + message.setBody(decryptedBody); + message.setEncryption(Message.ENCRYPTION_DECRYPTED); + databaseBackend.updateMessage(message, message.getEditedId()); + updateConversationUi(); + return; + } else { + databaseBackend.createMessage(message); + saveInDb = false; + message.setBody(decryptedBody); + message.setEncryption(Message.ENCRYPTION_DECRYPTED); + } } break; case Message.ENCRYPTION_OTR: