Debug lors de l'ajout et suppresion d'un contact via un client exterieur.
La contact liste est en principe bien rafraichi =)
--- a/src/com/beem/project/beem/ui/ContactList.java Fri Oct 09 15:17:14 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java Fri Oct 09 16:09:04 2009 +0200
@@ -21,7 +21,6 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.RemoteException;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -167,7 +166,6 @@
*/
@Override
protected void onStop() {
- Log.d("CONTACTLIST", "onStop");
super.onStop();
if (mReceiver.isBinded())
unbindService(mServConn);
@@ -364,7 +362,7 @@
mContactOnGroup.put(group, tmplist);
}
mContactOnGroup.get(group).add(c);
- if (group.equals(mCurGroup))
+ if (group.equals(mCurGroup) && !mListContact.contains(c))
mListContact.add(c);
}
}
@@ -400,6 +398,14 @@
*/
@Override
public void onEntriesUpdated(List<String> addresses) throws RemoteException {
+ for (String adr : addresses) {
+ Contact c = mRoster.getContact(adr);
+ if (c.getGroups() != null) {
+ if (mContactOnGroup.get(getString(R.string.contact_list_no_group)).contains(c)) {
+ mContactOnGroup.get(getString(R.string.contact_list_no_group)).remove(c);
+ }
+ }
+ }
mHandler.post(new RunnableChange());
}