From 8b5a52a8b188fdce0166f545698edc48f9cfd0aa Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 12 Sep 2018 13:17:00 +0200 Subject: [PATCH] Fixed contact edition --- .../contacts/ContactEditorFragment.java | 6 +- .../linphone/contacts/ContactsManager.java | 4 +- .../linphone/contacts/LinphoneContact.java | 98 ++++++++++++------- 3 files changed, 67 insertions(+), 41 deletions(-) diff --git a/src/android/org/linphone/contacts/ContactEditorFragment.java b/src/android/org/linphone/contacts/ContactEditorFragment.java index 994eac650..2355934e1 100644 --- a/src/android/org/linphone/contacts/ContactEditorFragment.java +++ b/src/android/org/linphone/contacts/ContactEditorFragment.java @@ -148,7 +148,7 @@ public class ContactEditorFragment extends Fragment { } contact = LinphoneContact.createContact(); } - contact.setFirstNameAndLastName(firstName.getText().toString(), lastName.getText().toString()); + contact.setFirstNameAndLastName(firstName.getText().toString(), lastName.getText().toString(), true); if (photoToAdd != null) { contact.setPhoto(photoToAdd); } @@ -158,7 +158,7 @@ public class ContactEditorFragment extends Fragment { } contact.addOrUpdateNumberOrAddress(noa); } - contact.setOrganization(organization.getText().toString()); + contact.setOrganization(organization.getText().toString(), true); contact.save(); getFragmentManager().popBackStackImmediate(); } @@ -282,7 +282,7 @@ public class ContactEditorFragment extends Fragment { } }); - numbersAndAddresses = new ArrayList(); + numbersAndAddresses = new ArrayList<>(); sipAddresses = initSipAddressFields(contact); numbers = initNumbersFields(contact); diff --git a/src/android/org/linphone/contacts/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java index 3ffad6d57..eed5ac736 100644 --- a/src/android/org/linphone/contacts/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -466,9 +466,9 @@ public class ContactsManager extends ContentObserver implements FriendListListen sipContacts.add(contact); } } else if (ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE.equals(mime)) { - contact.setOrganization(data1); + contact.setOrganization(data1, false); } else if (ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE.equals(mime)) { - contact.setFirstNameAndLastName(data2, data3); + contact.setFirstNameAndLastName(data2, data3, false); } if (created && !contacts.contains(contact)) { diff --git a/src/android/org/linphone/contacts/LinphoneContact.java b/src/android/org/linphone/contacts/LinphoneContact.java index 60c55a76c..6cb6b5720 100644 --- a/src/android/org/linphone/contacts/LinphoneContact.java +++ b/src/android/org/linphone/contacts/LinphoneContact.java @@ -81,6 +81,14 @@ public class LinphoneContact implements Serializable, Comparable