From 72df864d41e91d184dd20178d48e7b68df13e725 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Wed, 22 Nov 2017 21:00:33 +0100 Subject: send and show read markers in private, non-anonymous groups --- .../java/de/pixart/messenger/generator/MessageGenerator.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/pixart/messenger/generator/MessageGenerator.java') diff --git a/src/main/java/de/pixart/messenger/generator/MessageGenerator.java b/src/main/java/de/pixart/messenger/generator/MessageGenerator.java index 5ed2266ef..4dae14757 100644 --- a/src/main/java/de/pixart/messenger/generator/MessageGenerator.java +++ b/src/main/java/de/pixart/messenger/generator/MessageGenerator.java @@ -39,7 +39,6 @@ public class MessageGenerator extends AbstractGenerator { if (conversation.getMode() == Conversation.MODE_SINGLE) { packet.setTo(message.getCounterpart()); packet.setType(MessagePacket.TYPE_CHAT); - packet.addChild("markable", "urn:xmpp:chat-markers:0"); if (this.mXmppConnectionService.indicateReceived()) { packet.addChild("request", "urn:xmpp:receipts"); } @@ -54,6 +53,10 @@ public class MessageGenerator extends AbstractGenerator { packet.setTo(message.getCounterpart().toBareJid()); packet.setType(MessagePacket.TYPE_GROUPCHAT); } + if (conversation.getMode() == Conversation.MODE_SINGLE || + (conversation.getMucOptions().nonanonymous() && conversation.getMucOptions().membersOnly() && message.getType() != Message.TYPE_PRIVATE)) { + packet.addChild("markable", "urn:xmpp:chat-markers:0"); + } packet.setFrom(account.getJid()); packet.setId(message.getUuid()); packet.addChild("origin-id", Namespace.STANZA_IDS).setAttribute("id", message.getUuid()); @@ -167,10 +170,10 @@ public class MessageGenerator extends AbstractGenerator { return packet; } - public MessagePacket confirm(final Account account, final Jid to, final String id) { + public MessagePacket confirm(final Account account, final Jid to, final String id, final boolean groupChat) { MessagePacket packet = new MessagePacket(); - packet.setType(MessagePacket.TYPE_CHAT); - packet.setTo(to); + packet.setType(groupChat ? MessagePacket.TYPE_GROUPCHAT : MessagePacket.TYPE_CHAT); + packet.setTo(groupChat ? to.toBareJid() : to); packet.setFrom(account.getJid()); Element received = packet.addChild("displayed", "urn:xmpp:chat-markers:0"); received.setAttribute("id", id); -- cgit v1.2.3