# HG changeset patch # User nikita@nikita-rack # Date 1240599326 -7200 # Node ID d77ea17eea3a423692f30ba2aa53ecd8eb9f9dd0 # Parent af8a3d0917ccf5fb21f75647b3bfd9c0ccd1addc ajout des groupes dans ContactAdapter.java diff -r af8a3d0917cc -r d77ea17eea3a src/com/beem/project/beem/service/Contact.java --- a/src/com/beem/project/beem/service/Contact.java Fri Apr 24 20:30:19 2009 +0200 +++ b/src/com/beem/project/beem/service/Contact.java Fri Apr 24 20:55:26 2009 +0200 @@ -4,8 +4,10 @@ package com.beem.project.beem.service; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import org.jivesoftware.smack.RosterGroup; import org.jivesoftware.smack.packet.Presence; import com.beem.project.beem.utils.Status; @@ -27,6 +29,7 @@ private String mJID; private String mMsgState; private List mRes; + private List mGroups; /** * Parcelable.Creator needs by Android. @@ -60,6 +63,7 @@ mStatus = Status.CONTACT_STATUS_DISCONNECT; mRes = new ArrayList(); mRes.add("none"); + setGroups(new ArrayList()); } /** @@ -73,6 +77,7 @@ mMsgState = in.readString(); mRes = new ArrayList(); in.readStringList(mRes); + in.readStringList(getGroups()); } /** @@ -85,6 +90,7 @@ dest.writeString(mJID); dest.writeString(mMsgState); dest.writeStringList(getMRes()); + dest.writeStringList(getGroups()); } /** @@ -206,4 +212,24 @@ return mJID; return super.toString(); } + + public void setGroups(Collection groups) { + for (RosterGroup rosterGroup : groups) { + mGroups.add(rosterGroup.getName()); + } + } + + /** + * @param mGroups the mGroups to set + */ + public void setGroups(List mGroups) { + this.mGroups = mGroups; + } + + /** + * @return the mGroups + */ + public List getGroups() { + return mGroups; + } } diff -r af8a3d0917cc -r d77ea17eea3a src/com/beem/project/beem/service/RosterAdapter.java --- a/src/com/beem/project/beem/service/RosterAdapter.java Fri Apr 24 20:30:19 2009 +0200 +++ b/src/com/beem/project/beem/service/RosterAdapter.java Fri Apr 24 20:55:26 2009 +0200 @@ -31,8 +31,7 @@ private static final String TAG = "RosterAdapter"; private Roster mAdaptee; - private RemoteCallbackList mRemoteRosListeners = - new RemoteCallbackList(); + private RemoteCallbackList mRemoteRosListeners = new RemoteCallbackList(); private Map mContacts = new HashMap(); private RosterListenerAdapter mRosterListener = new RosterListenerAdapter(); @@ -49,7 +48,8 @@ if (!mContacts.containsKey(user)) { Contact c = new Contact(user); c.setStatus(roster.getPresence(user)); - mContacts.put(user, c); + c.addGroups(entry.getGroups()); + mContacts.put(user, c); } } } @@ -123,10 +123,8 @@ } /** - * Listener for the roster events. - * It will call the remote listeners registered. + * Listener for the roster events. It will call the remote listeners registered. * @author darisk - * */ private class RosterListenerAdapter implements RosterListener {