package asmack.org.jivesoftware.smackx.muc; import asmack.org.jivesoftware.smack.PacketInterceptor; import asmack.org.jivesoftware.smack.packet.Packet; import asmack.org.jivesoftware.smack.packet.PacketExtension; import asmack.org.jivesoftware.smack.packet.Presence; import asmack.org.jivesoftware.smackx.GroupChatInvitation; public class DeafOccupantInterceptor implements PacketInterceptor { private static class DeafExtension implements PacketExtension { private DeafExtension() { } /* synthetic */ DeafExtension(DeafExtension deafExtension) { this(); } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String getElementName() { return GroupChatInvitation.ELEMENT_NAME; } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String getNamespace() { return "http://jivesoftware.org/protocol/muc"; } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String toXML() { return "<" + getElementName() + " xmlns=\"" + getNamespace() + "\">" + "<deaf-occupant/>" + "</" + getElementName() + ">"; } } @Override // asmack.org.jivesoftware.smack.PacketInterceptor public void interceptPacket(Packet packet) { Presence presence = (Presence) packet; if (Presence.Type.available == presence.getType() && presence.getExtension(GroupChatInvitation.ELEMENT_NAME, "http://jabber.org/protocol/muc") != null) { packet.addExtension(new DeafExtension(null)); } } }