add xhtml image tag to unencrypted image urls. add oob tag to all files that are on remote hosts

This commit is contained in:
Daniel Gultsch 2015-10-07 12:08:25 +02:00
parent 8f066d00e0
commit 043e19dd65
1 changed files with 18 additions and 2 deletions

View File

@ -68,6 +68,15 @@ public class MessageGenerator extends AbstractGenerator {
return packet;
}
public static void addXhtmlImImage(MessagePacket packet, Message.FileParams params) {
Element html = packet.addChild("html","http://jabber.org/protocol/xhtml-im");
Element body = html.addChild("body","http://www.w3.org/1999/xhtml");
Element img = body.addChild("img");
img.setAttribute("src",params.url.toString());
img.setAttribute("height",params.height);
img.setAttribute("width",params.width);
}
public static void addMessageHints(MessagePacket packet) {
packet.addChild("private", "urn:xmpp:carbons:2");
packet.addChild("no-copy", "urn:xmpp:hints");
@ -98,11 +107,18 @@ public class MessageGenerator extends AbstractGenerator {
public MessagePacket generateChat(Message message) {
MessagePacket packet = preparePacket(message);
String content;
if (message.hasFileOnRemoteHost()) {
packet.setBody(message.getFileParams().url.toString());
} else {
packet.setBody(message.getBody());
Message.FileParams fileParams = message.getFileParams();
content = fileParams.url.toString();
if (fileParams.width > 0 && fileParams.height > 0) {
addXhtmlImImage(packet,fileParams);
}
packet.addChild("x","jabber:x:oob").addChild("url").setContent(fileParams.url.toString());
} else {
content = message.getBody();
}
packet.setBody(content);
return packet;
}