Commit e83f6a2e authored by Daniel Henninger's avatar Daniel Henninger Committed by dhenninger

[GATE-136] Fixed issue with lack of subscribed packet.

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk/src/plugins/gateway@6222 b35dd754-fafc-0310-a699-88a17e54d16e
parent 481c0966
...@@ -171,10 +171,28 @@ public class MSNListener extends MsnAdapter { ...@@ -171,10 +171,28 @@ public class MSNListener extends MsnAdapter {
*/ */
public void contactAddCompleted(MsnMessenger messenger, MsnContact contact) { public void contactAddCompleted(MsnMessenger messenger, MsnContact contact) {
Log.debug("MSN: Contact add completed: "+contact); Log.debug("MSN: Contact add completed: "+contact);
Presence p = new Presence();
p.setType(Presence.Type.subscribed);
p.setTo(msnSession.getJID());
p.setFrom(msnSession.getTransport().convertIDToJID(contact.getEmail().toString()));
msnSession.getTransport().sendPacket(p);
msnSession.storeFriend(contact); msnSession.storeFriend(contact);
msnSession.completedPendingContactAdd(contact); msnSession.completedPendingContactAdd(contact);
} }
/**
* A contact we removed has been removed from the server.
*/
public void contactRemoveCompleted(MsnMessenger messenger, MsnContact contact) {
Log.debug("MSN: Contact remove completed: "+contact);
Presence p = new Presence();
p.setType(Presence.Type.unsubscribed);
p.setTo(msnSession.getJID());
p.setFrom(msnSession.getTransport().convertIDToJID(contact.getEmail().toString()));
msnSession.getTransport().sendPacket(p);
msnSession.unstoreFriend(contact);
}
/** /**
* A group we added has been added to the server. * A group we added has been added to the server.
*/ */
...@@ -184,6 +202,14 @@ public class MSNListener extends MsnAdapter { ...@@ -184,6 +202,14 @@ public class MSNListener extends MsnAdapter {
msnSession.completedPendingGroupAdd(group); msnSession.completedPendingGroupAdd(group);
} }
/**
* A group we removed has been removed from the server.
*/
public void groupRemoveCompleted(MsnMessenger messenger, MsnGroup group) {
Log.debug("MSN: Group remove completed: "+group);
msnSession.unstoreGroup(group);
}
/** /**
* Owner status has changed. * Owner status has changed.
*/ */
......
...@@ -142,6 +142,15 @@ public class MSNSession extends TransportSession { ...@@ -142,6 +142,15 @@ public class MSNSession extends TransportSession {
msnContacts.put(msnContact.getEmail().toString(), msnContact); msnContacts.put(msnContact.getEmail().toString(), msnContact);
} }
/**
* Removes information about a person from the user's contact list.
*
* @param msnContact MSN contact we are removing a copy of.
*/
public void unstoreFriend(MsnContact msnContact) {
msnContacts.remove(msnContact.getEmail().toString());
}
/** /**
* Records information about a group on the user's contact list. * Records information about a group on the user's contact list.
* *
...@@ -151,6 +160,15 @@ public class MSNSession extends TransportSession { ...@@ -151,6 +160,15 @@ public class MSNSession extends TransportSession {
msnGroups.put(msnGroup.getGroupName(), msnGroup); msnGroups.put(msnGroup.getGroupName(), msnGroup);
} }
/**
* Removes information about a group from the user's contact list.
*
* @param msnGroup MSN group we are removing a copy of.
*/
public void unstoreGroup(MsnGroup msnGroup) {
msnGroups.remove(msnGroup.getGroupName());
}
/** /**
* Records a member of a pending new group that will be added later. * Records a member of a pending new group that will be added later.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment