Change summary
src/main/java/eu/siacs/conversations/generator/MessageGenerator.java | 15
1 file changed, 9 insertions(+), 6 deletions(-)
Detailed changes
@@ -32,7 +32,7 @@ public class MessageGenerator extends AbstractGenerator {
super(service);
}
- private MessagePacket preparePacket(Message message) {
+ private MessagePacket preparePacket(Message message, boolean legacyEncryption) {
Conversation conversation = (Conversation) message.getConversation();
Account account = conversation.getAccount();
MessagePacket packet = new MessagePacket();
@@ -63,8 +63,11 @@ public class MessageGenerator extends AbstractGenerator {
if (message.edited()) {
packet.addChild("replace", "urn:xmpp:message-correct:0").setAttribute("id", message.getEditedIdWireFormat());
}
- for (Element el : message.getPayloads()) {
- packet.addChild(el);
+ if (!legacyEncryption) {
+ // Legacy encryption can't handle advanced payloads
+ for (Element el : message.getPayloads()) {
+ packet.addChild(el);
+ }
}
return packet;
}
@@ -79,7 +82,7 @@ public class MessageGenerator extends AbstractGenerator {
}
public MessagePacket generateAxolotlChat(Message message, XmppAxolotlMessage axolotlMessage) {
- MessagePacket packet = preparePacket(message);
+ MessagePacket packet = preparePacket(message, true);
if (axolotlMessage == null) {
return null;
}
@@ -102,7 +105,7 @@ public class MessageGenerator extends AbstractGenerator {
}
public MessagePacket generateChat(Message message) {
- MessagePacket packet = preparePacket(message);
+ MessagePacket packet = preparePacket(message, false);
if (message.hasFileOnRemoteHost()) {
final Message.FileParams fileParams = message.getFileParams();
@@ -128,7 +131,7 @@ public class MessageGenerator extends AbstractGenerator {
}
public MessagePacket generatePgpChat(Message message) {
- MessagePacket packet = preparePacket(message);
+ MessagePacket packet = preparePacket(message, true);
if (message.hasFileOnRemoteHost()) {
Message.FileParams fileParams = message.getFileParams();
final String url = fileParams.url;