aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Schneppe <christian.schneppe@pix-art.de>2020-03-16 19:41:16 +0100
committerChristian Schneppe <christian.schneppe@pix-art.de>2020-03-16 19:41:16 +0100
commitd729a11d2667d33e5ca61c15d1c5e3fc2b2eafd6 (patch)
tree1d29a6ef404a82735a2b03832f29f54457dd5950
parent01f10a7329a31f51359facff92415795731dd794 (diff)
when setting moderated also set non standard field to not make users participants by default
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index c72a06aae..a51dbe49f 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -3473,16 +3473,20 @@ public class XmppConnectionService extends Service {
conversation.setAttribute("accept_non_anonymous", true);
updateConversation(conversation);
}
- IqPacket request = new IqPacket(IqPacket.TYPE.GET);
+ if (options.containsKey("muc#roomconfig_moderatedroom")) {
+ final boolean moderated = "1".equals(options.getString("muc#roomconfig_moderatedroom"));
+ options.putString("members_by_default", moderated ? "0" : "1");
+ }
+ final IqPacket request = new IqPacket(IqPacket.TYPE.GET);
request.setTo(conversation.getJid().asBareJid());
request.query("http://jabber.org/protocol/muc#owner");
sendIqPacket(conversation.getAccount(), request, new OnIqPacketReceived() {
@Override
public void onIqPacketReceived(Account account, IqPacket packet) {
if (packet.getType() == IqPacket.TYPE.RESULT) {
- Data data = Data.parse(packet.query().findChild("x", Namespace.DATA));
+ final Data data = Data.parse(packet.query().findChild("x", Namespace.DATA));
data.submit(options);
- IqPacket set = new IqPacket(IqPacket.TYPE.SET);
+ final IqPacket set = new IqPacket(IqPacket.TYPE.SET);
set.setTo(conversation.getJid().asBareJid());
set.query("http://jabber.org/protocol/muc#owner").addChild(data);
sendIqPacket(account, set, new OnIqPacketReceived() {