fixed parsing of muc status messages in new message parser
This commit is contained in:
parent
3578263686
commit
46595b6d43
|
@ -364,8 +364,9 @@ public class MessageParser extends AbstractParser implements
|
||||||
mXmppConnectionService.getNotificationService().push(message);
|
mXmppConnectionService.getNotificationService().push(message);
|
||||||
}
|
}
|
||||||
} else { //no body
|
} else { //no body
|
||||||
if (packet.hasChild("subject") && isTypeGroupChat) {
|
if (isTypeGroupChat) {
|
||||||
Conversation conversation = mXmppConnectionService.find(account, from.toBareJid());
|
Conversation conversation = mXmppConnectionService.find(account, from.toBareJid());
|
||||||
|
if (packet.hasChild("subject")) {
|
||||||
if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
|
if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
|
||||||
conversation.setHasMessagesLeftOnServer(conversation.countMessages() > 0);
|
conversation.setHasMessagesLeftOnServer(conversation.countMessages() > 0);
|
||||||
conversation.getMucOptions().setSubject(packet.findChildContent("subject"));
|
conversation.getMucOptions().setSubject(packet.findChildContent("subject"));
|
||||||
|
@ -373,6 +374,17 @@ public class MessageParser extends AbstractParser implements
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Element x = packet.findChild("x", "http://jabber.org/protocol/muc#user");
|
||||||
|
if (conversation != null && x != null && from.isBareJid()) {
|
||||||
|
for (Element child : x.getChildren()) {
|
||||||
|
if (child.getName().equals("status")
|
||||||
|
&& MucOptions.STATUS_CODE_ROOM_CONFIG_CHANGED.equals(child.getAttribute("code"))) {
|
||||||
|
mXmppConnectionService.fetchConferenceConfiguration(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Element received = packet.findChild("received", "urn:xmpp:chat-markers:0");
|
Element received = packet.findChild("received", "urn:xmpp:chat-markers:0");
|
||||||
|
|
Loading…
Reference in a new issue