answer correctly if both markers and receipts are requested
This commit is contained in:
parent
23e5fb5d56
commit
7ee2ef5233
|
@ -151,4 +151,14 @@ public class MessageGenerator {
|
|||
packet.addChild(x);
|
||||
return packet;
|
||||
}
|
||||
|
||||
public MessagePacket received(Account account, MessagePacket originalMessage, String namespace) {
|
||||
MessagePacket receivedPacket = new MessagePacket();
|
||||
receivedPacket.setType(MessagePacket.TYPE_NORMAL);
|
||||
receivedPacket.setTo(originalMessage.getFrom());
|
||||
receivedPacket.setFrom(account.getFullJid());
|
||||
Element received = receivedPacket.addChild("received",namespace);
|
||||
received.setAttribute("id", originalMessage.getId());
|
||||
return receivedPacket;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -316,26 +316,20 @@ public class MessageParser extends AbstractParser implements
|
|||
return;
|
||||
} else if (packet.getType() == MessagePacket.TYPE_NORMAL) {
|
||||
this.parseNormal(packet, account);
|
||||
return;
|
||||
}
|
||||
if ((message == null) || (message.getBody() == null)) {
|
||||
return;
|
||||
}
|
||||
if ((mXmppConnectionService.confirmMessages())
|
||||
&& ((packet.getId() != null))) {
|
||||
MessagePacket receivedPacket = new MessagePacket();
|
||||
receivedPacket.setType(MessagePacket.TYPE_NORMAL);
|
||||
receivedPacket.setTo(message.getCounterpart());
|
||||
receivedPacket.setFrom(account.getFullJid());
|
||||
if (packet.hasChild("markable", "urn:xmpp:chat-markers:0")) {
|
||||
Element received = receivedPacket.addChild("received",
|
||||
"urn:xmpp:chat-markers:0");
|
||||
received.setAttribute("id", packet.getId());
|
||||
account.getXmppConnection().sendMessagePacket(receivedPacket);
|
||||
} else if (packet.hasChild("request", "urn:xmpp:receipts")) {
|
||||
Element received = receivedPacket.addChild("received",
|
||||
"urn:xmpp:receipts");
|
||||
received.setAttribute("id", packet.getId());
|
||||
account.getXmppConnection().sendMessagePacket(receivedPacket);
|
||||
MessagePacket receipt = mXmppConnectionService.getMessageGenerator().received(account, packet, "urn:xmpp:chat-markers:0");
|
||||
mXmppConnectionService.sendMessagePacket(account, receipt);
|
||||
}
|
||||
if (packet.hasChild("request", "urn:xmpp:receipts")) {
|
||||
MessagePacket receipt = mXmppConnectionService.getMessageGenerator().received(account, packet, "urn:xmpp:receipts");
|
||||
mXmppConnectionService.sendMessagePacket(account, receipt);
|
||||
}
|
||||
}
|
||||
Conversation conversation = message.getConversation();
|
||||
|
|
Loading…
Reference in a new issue