use same method to add message hints to otr message everywhere it is needed

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/crypto/OtrService.java          |  6 
src/main/java/eu/siacs/conversations/generator/MessageGenerator.java | 14 
2 files changed, 11 insertions(+), 9 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/crypto/OtrService.java 🔗

@@ -29,6 +29,7 @@ import java.security.spec.InvalidKeySpecException;
 import eu.siacs.conversations.Config;
 import eu.siacs.conversations.entities.Account;
 import eu.siacs.conversations.entities.Conversation;
+import eu.siacs.conversations.generator.MessageGenerator;
 import eu.siacs.conversations.services.XmppConnectionService;
 import eu.siacs.conversations.xmpp.chatstate.ChatState;
 import eu.siacs.conversations.xmpp.jid.InvalidJidException;
@@ -179,10 +180,7 @@ public class OtrService extends OtrCryptoEngineImpl implements OtrEngineHost {
 			packet.setAttribute("to", session.getAccountID() + "/" + session.getUserID());
 		}
 		packet.setBody(body);
-		packet.addChild("private", "urn:xmpp:carbons:2");
-		packet.addChild("no-copy", "urn:xmpp:hints");
-		packet.addChild("no-permanent-store", "urn:xmpp:hints");
-		packet.addChild("no-permanent-storage", "urn:xmpp:hints");
+		MessageGenerator.addMessageHints(packet);
 		try {
 			Jid jid = Jid.fromSessionID(session);
 			Conversation conversation = mXmppConnectionService.find(account,jid);

src/main/java/eu/siacs/conversations/generator/MessageGenerator.java 🔗

@@ -64,20 +64,24 @@ public class MessageGenerator extends AbstractGenerator {
 			return null;
 		}
 		packet.setAxolotlMessage(axolotlMessage.toElement());
-		packet.addChild("pretty-please-store","urn:xmpp:hints");
+		packet.addChild("pretty-please-store", "urn:xmpp:hints");
 		return packet;
 	}
 
+	public static void addMessageHints(MessagePacket packet) {
+		packet.addChild("private", "urn:xmpp:carbons:2");
+		packet.addChild("no-copy", "urn:xmpp:hints");
+		packet.addChild("no-permanent-store", "urn:xmpp:hints");
+		packet.addChild("no-permanent-storage", "urn:xmpp:hints"); //do not copy this. this is wrong. it is *store*
+	}
+
 	public MessagePacket generateOtrChat(Message message) {
 		Session otrSession = message.getConversation().getOtrSession();
 		if (otrSession == null) {
 			return null;
 		}
 		MessagePacket packet = preparePacket(message);
-		packet.addChild("private", "urn:xmpp:carbons:2");
-		packet.addChild("no-copy", "urn:xmpp:hints");
-		packet.addChild("no-permanent-store", "urn:xmpp:hints");
-		packet.addChild("no-permanent-storage", "urn:xmpp:hints");
+		addMessageHints(packet);
 		try {
 			String content;
 			if (message.hasFileOnRemoteHost()) {