mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-14 15:01:07 +01:00
Add FlexiblePacketTypeFilter
and make constructors of MessageTypeFilter and IQTypeFilter private, because we now provide constants instead.
This commit is contained in:
parent
c606530e22
commit
2a091debc1
18 changed files with 114 additions and 73 deletions
|
|
@ -1947,18 +1947,8 @@ public class MultiUserChat {
|
|||
|
||||
private void init() {
|
||||
// Create filters
|
||||
messageFilter =
|
||||
new AndFilter(
|
||||
FromMatchesFilter.create(room),
|
||||
new MessageTypeFilter(Message.Type.groupchat));
|
||||
messageFilter = new AndFilter(messageFilter, new PacketFilter() {
|
||||
public boolean accept(Packet packet) {
|
||||
Message msg = (Message) packet;
|
||||
return msg.getBody() != null;
|
||||
}
|
||||
});
|
||||
presenceFilter =
|
||||
new AndFilter(FromMatchesFilter.create(room), new PacketTypeFilter(Presence.class));
|
||||
messageFilter = new AndFilter(FromMatchesFilter.create(room), MessageTypeFilter.GROUPCHAT);
|
||||
presenceFilter = new AndFilter(FromMatchesFilter.create(room), PacketTypeFilter.PRESENCE);
|
||||
|
||||
// Create a collector for incoming messages.
|
||||
messageCollector = new ConnectionDetachedPacketCollector();
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ import org.jivesoftware.smack.packet.Presence;
|
|||
*/
|
||||
class PacketMultiplexListener implements PacketListener {
|
||||
|
||||
private static final PacketFilter MESSAGE_FILTER =
|
||||
new MessageTypeFilter(Message.Type.groupchat);
|
||||
private static final PacketFilter PRESENCE_FILTER = new PacketTypeFilter(Presence.class);
|
||||
private static final PacketFilter SUBJECT_FILTER = new PacketFilter() {
|
||||
public boolean accept(Packet packet) {
|
||||
|
|
@ -79,7 +77,7 @@ class PacketMultiplexListener implements PacketListener {
|
|||
if (PRESENCE_FILTER.accept(p)) {
|
||||
presenceListener.processPacket(p);
|
||||
}
|
||||
else if (MESSAGE_FILTER.accept(p)) {
|
||||
else if (MessageTypeFilter.GROUPCHAT.accept(p)) {
|
||||
messageCollector.processPacket(p);
|
||||
|
||||
if (SUBJECT_FILTER.accept(p)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue