Merge pull request from betheg/muc_password

MUC: set password from invite message.
This commit is contained in:
Daniel Gultsch 2014-09-06 15:11:43 +02:00
commit dfc5942bda
1 changed files with 8 additions and 0 deletions
src/eu/siacs/conversations/parser

View File

@ -285,6 +285,10 @@ public class MessageParser extends AbstractParser implements
.findOrCreateConversation(account, .findOrCreateConversation(account,
packet.getAttribute("from"), true); packet.getAttribute("from"), true);
if (!conversation.getMucOptions().online()) { if (!conversation.getMucOptions().online()) {
if (x.hasChild("password")) {
Element password = x.findChild("password");
conversation.getMucOptions().setPassword(password.getContent());
}
mXmppConnectionService.joinMuc(conversation); mXmppConnectionService.joinMuc(conversation);
mXmppConnectionService.updateConversationUi(); mXmppConnectionService.updateConversationUi();
} }
@ -293,10 +297,14 @@ public class MessageParser extends AbstractParser implements
} else if (packet.hasChild("x", "jabber:x:conference")) { } else if (packet.hasChild("x", "jabber:x:conference")) {
Element x = packet.findChild("x", "jabber:x:conference"); Element x = packet.findChild("x", "jabber:x:conference");
String jid = x.getAttribute("jid"); String jid = x.getAttribute("jid");
String password = x.getAttribute("password");
if (jid != null) { if (jid != null) {
Conversation conversation = mXmppConnectionService Conversation conversation = mXmppConnectionService
.findOrCreateConversation(account, jid, true); .findOrCreateConversation(account, jid, true);
if (!conversation.getMucOptions().online()) { if (!conversation.getMucOptions().online()) {
if (password != null) {
conversation.getMucOptions().setPassword(password);
}
mXmppConnectionService.joinMuc(conversation); mXmppConnectionService.joinMuc(conversation);
mXmppConnectionService.updateConversationUi(); mXmppConnectionService.updateConversationUi();
} }