mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-16 12:12:06 +01:00
SMACK-305: fixed roster reload
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11670 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
446a601b73
commit
31cd0ab088
2 changed files with 6 additions and 4 deletions
|
@ -784,7 +784,7 @@ public class Roster {
|
||||||
RosterPacket rosterPacket = (RosterPacket) packet;
|
RosterPacket rosterPacket = (RosterPacket) packet;
|
||||||
for (RosterPacket.Item item : rosterPacket.getRosterItems()) {
|
for (RosterPacket.Item item : rosterPacket.getRosterItems()) {
|
||||||
RosterEntry entry = new RosterEntry(item.getUser(), item.getName(),
|
RosterEntry entry = new RosterEntry(item.getUser(), item.getName(),
|
||||||
item.getItemType(), item.getItemStatus(), connection);
|
item.getItemType(), item.getItemStatus(), Roster.this, connection);
|
||||||
|
|
||||||
// If the packet is of the type REMOVE then remove the entry
|
// If the packet is of the type REMOVE then remove the entry
|
||||||
if (RosterPacket.ItemType.remove.equals(item.getItemType())) {
|
if (RosterPacket.ItemType.remove.equals(item.getItemType())) {
|
||||||
|
|
|
@ -37,7 +37,8 @@ public class RosterEntry {
|
||||||
private String name;
|
private String name;
|
||||||
private RosterPacket.ItemType type;
|
private RosterPacket.ItemType type;
|
||||||
private RosterPacket.ItemStatus status;
|
private RosterPacket.ItemStatus status;
|
||||||
private Connection connection;
|
final private Roster roster;
|
||||||
|
final private Connection connection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new roster entry.
|
* Creates a new roster entry.
|
||||||
|
@ -49,11 +50,12 @@ public class RosterEntry {
|
||||||
* @param connection a connection to the XMPP server.
|
* @param connection a connection to the XMPP server.
|
||||||
*/
|
*/
|
||||||
RosterEntry(String user, String name, RosterPacket.ItemType type,
|
RosterEntry(String user, String name, RosterPacket.ItemType type,
|
||||||
RosterPacket.ItemStatus status, Connection connection) {
|
RosterPacket.ItemStatus status, Roster roster, Connection connection) {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.status = status;
|
this.status = status;
|
||||||
|
this.roster = roster;
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +116,7 @@ public class RosterEntry {
|
||||||
List<RosterGroup> results = new ArrayList<RosterGroup>();
|
List<RosterGroup> results = new ArrayList<RosterGroup>();
|
||||||
// Loop through all roster groups and find the ones that contain this
|
// Loop through all roster groups and find the ones that contain this
|
||||||
// entry. This algorithm should be fine
|
// entry. This algorithm should be fine
|
||||||
for (RosterGroup group: connection.getRoster().getGroups()) {
|
for (RosterGroup group: roster.getGroups()) {
|
||||||
if (group.contains(this)) {
|
if (group.contains(this)) {
|
||||||
results.add(group);
|
results.add(group);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue