package com.openims.service.chat; import java.util.Collection; import java.util.Iterator; import org.jivesoftware.smack.RosterListener; import org.jivesoftware.smack.packet.Presence; import android.util.Log; import com.openims.service.XmppManager; import com.openims.utility.LogUtil; public class MyRosterListener implements RosterListener { private static final String LOGTAG = LogUtil.makeLogTag(MyRosterListener.class); private static final String TAG = LogUtil.makeTag(MyRosterListener.class); private XmppManager xmppManager; public MyRosterListener(XmppManager xmppManager){ this.xmppManager = xmppManager; } @Override public void entriesAdded(Collection<String> addresses) { Log.e(LOGTAG,TAG+"entriesAdded"); Iterator<String> it = addresses.iterator(); while(it.hasNext()){ String jid = it.next(); Log.i(LOGTAG,TAG+jid); xmppManager.updateRoster(jid); xmppManager.notifyRosterUpdated(jid); } } @Override public void entriesDeleted(Collection<String> addresses) { Log.e(LOGTAG,TAG+"entriesDeleted"); Iterator<String> it = addresses.iterator(); while(it.hasNext()){ String jid = it.next(); Log.i(LOGTAG,TAG+jid); xmppManager.deleteRoster(jid); xmppManager.notifyRosterUpdated(jid); } } @Override public void entriesUpdated(Collection<String> addresses) { Log.e(LOGTAG,TAG+"entriesUpdated"); Iterator<String> it = addresses.iterator(); xmppManager.notifyRosterUpdated(null); while(it.hasNext()){ Log.i(LOGTAG,TAG+it.next()); String jid = it.next(); xmppManager.updateRoster(jid); xmppManager.notifyRosterUpdated(jid); } } @Override public void presenceChanged(Presence presence) { // TODO Auto-generated method stub Log.e(LOGTAG,TAG+"presenceChanged have not deal with" + presence.getFrom()); } }