Correction bug. Doublons du contact lors de l'ajout dans plusieurs groupes.
Probleme Smack ....
--- 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) {