From 8e8a86941d740af2155bf5ccd40d924b6b2454b9 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 23 Mar 2016 11:05:01 +0100 Subject: [PATCH] Do not add in linphonecore friends with invalid sip address + fix crash in contacts list --- src/org/linphone/ContactsListFragment.java | 6 ++++++ src/org/linphone/LinphoneContact.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/ContactsListFragment.java b/src/org/linphone/ContactsListFragment.java index 62ea0ce17..e43e99b41 100644 --- a/src/org/linphone/ContactsListFragment.java +++ b/src/org/linphone/ContactsListFragment.java @@ -551,11 +551,17 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O @Override public int getPositionForSection(int sectionIndex) { + if (sectionIndex >= sections.length || sectionIndex < 0) { + return 0; + } return map.get(sections[sectionIndex]); } @Override public int getSectionForPosition(int position) { + if (position >= contacts.size() || position < 0) { + return 0; + } LinphoneContact contact = contacts.get(position); String letter = contact.getFullName().substring(0, 1); return sectionsList.indexOf(letter); diff --git a/src/org/linphone/LinphoneContact.java b/src/org/linphone/LinphoneContact.java index 3e58db616..78a5d6e3a 100644 --- a/src/org/linphone/LinphoneContact.java +++ b/src/org/linphone/LinphoneContact.java @@ -409,7 +409,7 @@ public class LinphoneContact implements Serializable { } } LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - if (lc != null) { + if (lc != null && friend.getAddress() != null) { try { lc.addFriend(friend); } catch (LinphoneCoreException e) {