diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-09-04 22:59:15 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-09-07 20:18:15 +0200 |
commit | b64a3fc93e0c2e7a46f53713ed336e147e33ee5c (patch) | |
tree | 1bf2394f208302c18e19a1d0b2b4d3f44c0506ac /src/main/java/de/pixart/messenger | |
parent | 9b20d699b7eaddc03504b85a4f4343612aed0028 (diff) |
don't crash when correcting waiting pgp encrypted messages
Diffstat (limited to 'src/main/java/de/pixart/messenger')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 962c43dcc..af33475e4 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -1206,10 +1206,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: |