aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/parser/MessageParser.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2015-10-30 10:18:27 +0100
committerDaniel Gultsch <daniel@gultsch.de>2015-10-30 10:18:27 +0100
commit6a458b853ca5cdcc9ebe8237706899449701ca8c (patch)
treee6552d076b27a75cdc57ef602941e44df39b3c68 /src/main/java/eu/siacs/conversations/parser/MessageParser.java
parent1ec3d86eb7cfb518957abce5b8c5cdb2b89866da (diff)
parent016a57f123dad15b4dabce320759f29155a150a5 (diff)
Merge pull request #1513 from fiaxh/pgp_background_decryption
PGP messages background decryption
Diffstat (limited to 'src/main/java/eu/siacs/conversations/parser/MessageParser.java')
-rw-r--r--src/main/java/eu/siacs/conversations/parser/MessageParser.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
index 05c23593..58ca5135 100644
--- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java
+++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
@@ -3,6 +3,7 @@ package eu.siacs.conversations.parser;
import android.util.Log;
import android.util.Pair;
+import eu.siacs.conversations.crypto.PgpDecryptionService;
import net.java.otr4j.session.Session;
import net.java.otr4j.session.SessionStatus;
@@ -114,6 +115,13 @@ public class MessageParser extends AbstractParser implements
return finishedMessage;
}
+ private Message parsePGPChat(final Conversation conversation, String pgpEncrypted, int status) {
+ final Message message = new Message(conversation, pgpEncrypted, Message.ENCRYPTION_PGP, status);
+ PgpDecryptionService pgpDecryptionService = conversation.getAccount().getPgpDecryptionService();
+ pgpDecryptionService.add(message);
+ return message;
+ }
+
private class Invite {
Jid jid;
String password;
@@ -337,7 +345,7 @@ public class MessageParser extends AbstractParser implements
message = new Message(conversation, body, Message.ENCRYPTION_NONE, status);
}
} else if (pgpEncrypted != null) {
- message = new Message(conversation, pgpEncrypted, Message.ENCRYPTION_PGP, status);
+ message = parsePGPChat(conversation, pgpEncrypted, status);
} else if (axolotlEncrypted != null) {
message = parseAxolotlChat(axolotlEncrypted, from, remoteMsgId, conversation, status);
if (message == null) {