diff --git a/src/org/linphone/ContactsManager.java b/src/org/linphone/ContactsManager.java index 7e3c17dfd..5f3f823e4 100644 --- a/src/org/linphone/ContactsManager.java +++ b/src/org/linphone/ContactsManager.java @@ -32,6 +32,7 @@ import java.util.concurrent.TimeUnit; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneFriend; +import org.linphone.core.LinphoneFriendImpl; import org.linphone.core.LinphoneFriendList; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.Log; @@ -295,13 +296,9 @@ public class ContactsManager extends ContentObserver { } public synchronized void refreshSipContact(LinphoneFriend lf) { - for (LinphoneContact contact : contacts) { - if (contact.getLinphoneFriend() == lf) { - if (contact.isInLinphoneFriendList() && !sipContacts.contains(contact)) { - sipContacts.add(contact); - } - break; - } + LinphoneContact contact = ((LinphoneFriendImpl)lf).getLinphoneContact(); + if (!sipContacts.contains(contact)) { + sipContacts.add(contact); } Collections.sort(sipContacts); diff --git a/src/org/linphone/LinphoneContact.java b/src/org/linphone/LinphoneContact.java index 52acafd84..17802bf82 100644 --- a/src/org/linphone/LinphoneContact.java +++ b/src/org/linphone/LinphoneContact.java @@ -28,6 +28,7 @@ import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneFriend; +import org.linphone.core.LinphoneFriendImpl; import org.linphone.core.LinphoneFriend.SubscribePolicy; import org.linphone.core.PresenceBasicStatus; import org.linphone.core.PresenceModel; @@ -415,6 +416,7 @@ public class LinphoneContact implements Serializable, Comparable