From 79ec8b2e8128a1dc1d7d0962ce99e91fdaff8b98 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 4 Mar 2014 04:36:19 +0100 Subject: [PATCH] leaving mucs works --- .../conversations/services/XmppConnectionService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java index e341da1ce..48f0e4702 100644 --- a/src/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/eu/siacs/conversations/services/XmppConnectionService.java @@ -194,8 +194,8 @@ public class XmppConnectionService extends Service { PresencePacket packet) { if (packet.hasChild("x")&&(packet.findChild("x").getAttribute("xmlns").startsWith("http://jabber.org/protocol/muc"))) { Conversation muc = findMuc(packet.getAttribute("from").split("/")[0]); - int error = muc.getMucOptions().getError(); if (muc!=null) { + int error = muc.getMucOptions().getError(); muc.getMucOptions().processPacket(packet); if ((muc.getMucOptions().getError()!=error)&&(convChangedListener!=null)) { Log.d(LOGTAG,"muc error status changed"); @@ -901,6 +901,11 @@ public class XmppConnectionService extends Service { } public void leaveMuc(Conversation conversation) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("to", conversation.getContactJid()); + packet.setAttribute("from", conversation.getAccount().getFullJid()); + packet.setAttribute("type","unavailable"); + conversation.getAccount().getXmppConnection().sendPresencePacket(packet); conversation.getMucOptions().setOffline(); }