mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-12-22 20:47:57 +01:00
Make roster push and presence packet filter static final
Also remove the check of IQ.Type.SET in processPacket(). This is now done with help of a PacketFilter.
This commit is contained in:
parent
9fd0961c32
commit
6e12409b82
1 changed files with 10 additions and 7 deletions
|
@ -36,7 +36,9 @@ import org.jivesoftware.smack.SmackException.NoResponseException;
|
|||
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
||||
import org.jivesoftware.smack.SmackException.NotLoggedInException;
|
||||
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
|
||||
import org.jivesoftware.smack.filter.AndFilter;
|
||||
import org.jivesoftware.smack.filter.IQReplyFilter;
|
||||
import org.jivesoftware.smack.filter.IQTypeFilter;
|
||||
import org.jivesoftware.smack.filter.PacketFilter;
|
||||
import org.jivesoftware.smack.filter.PacketTypeFilter;
|
||||
import org.jivesoftware.smack.packet.IQ;
|
||||
|
@ -63,6 +65,12 @@ import org.jivesoftware.smack.util.StringUtils;
|
|||
public class Roster {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(Roster.class.getName());
|
||||
|
||||
private static final PacketFilter ROSTER_PUSH_FILTER = new AndFilter(new PacketTypeFilter(
|
||||
RosterPacket.class), new IQTypeFilter(IQ.Type.SET));
|
||||
|
||||
private static final PacketFilter PRESENCE_PACKET_FILTER = new PacketTypeFilter(Presence.class);
|
||||
|
||||
/**
|
||||
* The default subscription processing mode to use when a Roster is created. By default
|
||||
* all subscription requests are automatically accepted.
|
||||
|
@ -116,11 +124,9 @@ public class Roster {
|
|||
this.connection = connection;
|
||||
rosterStore = connection.getConfiguration().getRosterStore();
|
||||
// Listen for any roster packets.
|
||||
PacketFilter rosterFilter = new PacketTypeFilter(RosterPacket.class);
|
||||
connection.addPacketListener(new RosterPushListener(), rosterFilter);
|
||||
connection.addPacketListener(new RosterPushListener(), ROSTER_PUSH_FILTER);
|
||||
// Listen for any presence packets.
|
||||
PacketFilter presenceFilter = new PacketTypeFilter(Presence.class);
|
||||
connection.addPacketListener(presencePacketListener, presenceFilter);
|
||||
connection.addPacketListener(presencePacketListener, PRESENCE_PACKET_FILTER);
|
||||
|
||||
// Listen for connection events
|
||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
||||
|
@ -1029,9 +1035,6 @@ public class Roster {
|
|||
|
||||
public void processPacket(Packet packet) throws NotConnectedException {
|
||||
RosterPacket rosterPacket = (RosterPacket) packet;
|
||||
if (!rosterPacket.getType().equals(IQ.Type.SET)) {
|
||||
return;
|
||||
}
|
||||
|
||||
String version = rosterPacket.getVersion();
|
||||
|
||||
|
|
Loading…
Reference in a new issue