From d42c82abf21d92ae1e8c7d12510d376800a2b363 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 1 Dec 2015 12:22:47 +0100 Subject: combine multiple message receipts into single message --- .../java/eu/siacs/conversations/parser/MessageParser.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/main/java/eu/siacs/conversations/parser/MessageParser.java') diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 58ca51350..b4c648fe9 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -7,6 +7,7 @@ import eu.siacs.conversations.crypto.PgpDecryptionService; import net.java.otr4j.session.Session; import net.java.otr4j.session.SessionStatus; +import java.util.ArrayList; import java.util.Set; import eu.siacs.conversations.Config; @@ -393,17 +394,17 @@ public class MessageParser extends AbstractParser implements } if (mXmppConnectionService.confirmMessages() && remoteMsgId != null && !isForwarded && !isTypeGroupChat) { + ArrayList receiptsNamespaces = new ArrayList<>(); if (packet.hasChild("markable", "urn:xmpp:chat-markers:0")) { - MessagePacket receipt = mXmppConnectionService.getMessageGenerator().received(account, - packet, - "urn:xmpp:chat-markers:0", - MessagePacket.TYPE_CHAT); - mXmppConnectionService.sendMessagePacket(account, receipt); + receiptsNamespaces.add("urn:xmpp:chat-markers:0"); } if (packet.hasChild("request", "urn:xmpp:receipts")) { + receiptsNamespaces.add("urn:xmpp:receipts"); + } + if (receiptsNamespaces.size() > 0) { MessagePacket receipt = mXmppConnectionService.getMessageGenerator().received(account, packet, - "urn:xmpp:receipts", + receiptsNamespaces, packet.getType()); mXmppConnectionService.sendMessagePacket(account, receipt); } -- cgit v1.2.3