From 3258c9f2ee1c6b77c1ec34f2535e5beeb2a7802b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 10 Oct 2012 16:03:28 +0200 Subject: [PATCH] Proper fix to avoid storing contact in duplicate object --- src/org/linphone/LinphoneActivity.java | 35 +++++++++----------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index bcdc7f57f..96d47e9e4 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -1063,35 +1063,24 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene } sipContactList.add(contact); } + for (int i = 0; i < contactCursor.getCount(); i++) { + Contact contact = Compatibility.getContact(getContentResolver(), contactCursor, i); + Log.e("Contact ID = " + contact.getID()); + for (Contact c : sipContactList) { + if (c.getID().equals(contact.getID())) { + Log.e("Match found : Temp ID = " + c.getID()); + contact = c; + break; + } + } + contactList.add(contact); + } } }); sipContactsHandler.start(); contactList = new ArrayList(); sipContactList = new ArrayList(); - - Thread contactsHandler = new Thread(new Runnable() { - @Override - public void run() { - for (int i = 0; i < contactCursor.getCount(); i++) { - Contact contact = Compatibility.getContact(getContentResolver(), contactCursor, i); -// contact.refresh(getContentResolver()); -// -// for (String aon : contact.getNumerosOrAddresses()) { -// if (LinphoneUtils.isSipAddress(aon)) { -// if (!isContactPresenceDisabled) { -// searchFriendAndAddToContact(contact); -// } -// if (!sipContactList.contains(contact)) { -// sipContactList.add(contact); -// } -// } -// } - contactList.add(contact); - } - } - }); - contactsHandler.start(); } private void initInCallMenuLayout(boolean callTransfer) {