Correction bug. Doublons du contact lors de l'ajout dans plusieurs groupes.
authorVincent Veronis <veroni_v@epitech.net>
Mon, 16 Nov 2009 21:51:34 +0100
changeset 521 0444ac5038a0
parent 520 88a19fcd70b3
child 523 43ec9f68c796
child 526 62a448d5dfe9
Correction bug. Doublons du contact lors de l'ajout dans plusieurs groupes. Probleme Smack ....
.classpath
src/com/beem/project/beem/service/RosterAdapter.java
src/com/beem/project/beem/ui/ContactList.java
--- a/.classpath	Mon Nov 16 02:00:06 2009 +0100
+++ b/.classpath	Mon Nov 16 21:51:34 2009 +0100
@@ -8,7 +8,7 @@
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="lib" path="libs/security.jar"/>
-	<classpathentry kind="lib" path="libs/smack.jar" sourcepath="/home/nikita/devel/smack/source">
+	<classpathentry kind="lib" path="libs/smack.jar" sourcepath="/home/marseille/smack_src_3_1_0/source">
 		<attributes>
 			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/org/"/>
 		</attributes>
--- a/src/com/beem/project/beem/service/RosterAdapter.java	Mon Nov 16 02:00:06 2009 +0100
+++ b/src/com/beem/project/beem/service/RosterAdapter.java	Mon Nov 16 21:51:34 2009 +0100
@@ -123,9 +123,18 @@
      */
     @Override
     public List<Contact> getContactList() throws RemoteException {
+	boolean add = true;
 	List<Contact> coList = new ArrayList<Contact>(mAdaptee.getEntries().size());
 	for (RosterEntry entry : mAdaptee.getEntries()) {
-	    coList.add(getContactFromRosterEntry(entry));
+	    for (Contact c : coList) {
+		if (c.getJID().equals(entry.getUser())) {
+		    add = false;
+		    break;
+		}
+	    }
+	    // Because getEntries return duplicated user.
+	    if (add == true)
+		coList.add(getContactFromRosterEntry(entry));
 	}
 	return coList;
     }
@@ -223,8 +232,7 @@
 	defaultStatusMessages.put(Status.CONTACT_STATUS_BUSY, context.getString(R.string.contact_status_msg_dnd));
 	defaultStatusMessages.put(Status.CONTACT_STATUS_DISCONNECT, context
 	    .getString(R.string.contact_status_msg_offline));
-	defaultStatusMessages
-	    .put(Status.CONTACT_STATUS_UNAVAILABLE, context.getString(R.string.contact_status_msg_xa));
+	defaultStatusMessages.put(Status.CONTACT_STATUS_UNAVAILABLE, context.getString(R.string.contact_status_msg_xa));
 
 	return (defaultStatusMessages);
     }
--- a/src/com/beem/project/beem/ui/ContactList.java	Mon Nov 16 02:00:06 2009 +0100
+++ b/src/com/beem/project/beem/ui/ContactList.java	Mon Nov 16 21:51:34 2009 +0100
@@ -654,6 +654,7 @@
 		    mListGroup.add(getString(R.string.contact_list_all_contact));
 		    mListGroup.addAll(tmpGroupList);
 		    mListGroup.add(getString(R.string.contact_list_no_group));
+		    mContactOnGroup.clear();
 		    if (tmpGroupList.size() > 0) {
 			List<Contact> tmpNoGroup = new ArrayList<Contact>();
 			for (String s : tmpGroupList) {