From fe51a17324957a64e65c094702e4a8ceaf72302e Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 10 Jun 2014 18:56:50 +0200 Subject: [PATCH] MessageEventManager's PacketFilter should ignore error type messages Fixes SMACK-573 --- .../jivesoftware/smackx/xevent/MessageEventManager.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java index 62e9f951d..ca69a2d50 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xevent/MessageEventManager.java @@ -30,6 +30,9 @@ import org.jivesoftware.smack.Manager; import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.filter.AndFilter; +import org.jivesoftware.smack.filter.MessageTypeFilter; +import org.jivesoftware.smack.filter.NotFilter; import org.jivesoftware.smack.filter.PacketExtensionFilter; import org.jivesoftware.smack.filter.PacketFilter; import org.jivesoftware.smack.packet.Message; @@ -51,8 +54,8 @@ public class MessageEventManager extends Manager { private static final Map INSTANCES = Collections .synchronizedMap(new WeakHashMap()); - private static final PacketFilter PACKET_FILTER = new PacketExtensionFilter( - MessageEvent.ELEMENT, MessageEvent.NAMESPACE); + private static final PacketFilter PACKET_FILTER = new AndFilter(new PacketExtensionFilter( + new MessageEvent()), new NotFilter(MessageTypeFilter.ERROR)); private List messageEventNotificationListeners = new CopyOnWriteArrayList(); private List messageEventRequestListeners = new CopyOnWriteArrayList();