diff --git a/src/android/org/linphone/contacts/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java index 2fee4e56b..dd493f25b 100644 --- a/src/android/org/linphone/contacts/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -264,7 +264,7 @@ public class ContactsManager extends ContentObserver { } public synchronized void setContacts(List c) { - if (contacts.isEmpty()) { + if (contacts.isEmpty() || contacts.size() > c.size()) { contacts = c; } else { for (LinphoneContact contact : c) { @@ -273,10 +273,11 @@ public class ContactsManager extends ContentObserver { } } } + Collections.sort(contacts); } public synchronized void setSipContacts(List c) { - if (sipContacts.isEmpty()) { + if (sipContacts.isEmpty() || sipContacts.size() > c.size()) { sipContacts = c; } else { for (LinphoneContact contact : c) { @@ -285,6 +286,7 @@ public class ContactsManager extends ContentObserver { } } } + Collections.sort(sipContacts); } public synchronized void refreshSipContact(Friend lf) { @@ -466,8 +468,6 @@ public class ContactsManager extends ContentObserver { Log.w("[Permission] Read contacts permission wasn't granted, only fetch Friends"); } - Collections.sort(contacts); - Collections.sort(sipContacts); setContacts(contacts); setSipContacts(sipContacts); diff --git a/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java index dd63e581a..f40f75d45 100644 --- a/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java +++ b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java @@ -40,7 +40,7 @@ public class LinphoneNumberOrAddress implements Serializable, Comparable