From 573bf2366ab2b12720c217450e998f95ae9ef133 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 6 Dec 2018 17:49:08 +0100 Subject: [PATCH] Fixes & improvements but contact creation still fails... --- app/build.gradle | 9 +- .../contacts/ContactEditorFragment.java | 9 +- .../linphone/contacts/LinphoneContact.java | 214 ++++++++++-------- .../res/values/non_localizable_custom.xml | 3 - app/src/main/res/xml/authenticator.xml | 2 +- app/src/main/res/xml/contacts.xml | 2 +- app/src/main/res/xml/syncadapter.xml | 2 +- 7 files changed, 144 insertions(+), 97 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bc6781af5..d0a2eba1f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,7 +52,6 @@ android { versionName "4.1" applicationId getPackageName() multiDexEnabled true - manifestPlaceholders = [absolutePackageName:getPackageName()] } applicationVariants.all { variant -> @@ -79,12 +78,20 @@ android { minifyEnabled true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + + resValue "string", "sync_account_type", getPackageName() + ".sync" + resValue "string", "file_provider", getPackageName() + ".provider" + resValue "string", "sync_mimetype", "vnd.android.cursor.item/vnd." + getPackageName() + ".provider.sip_address" } debug { applicationIdSuffix ".debug" debuggable true jniDebuggable true versionNameSuffix '-debug' + + resValue "string", "sync_account_type", getPackageName() + ".sync" + resValue "string", "file_provider", getPackageName() + ".provider" + resValue "string", "sync_mimetype", "vnd.android.cursor.item/vnd." + getPackageName() + ".provider.sip_address" } } diff --git a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java index 8fbabd6a3..99453b162 100644 --- a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java +++ b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java @@ -151,13 +151,16 @@ public class ContactEditorFragment extends Fragment { } mContact = LinphoneContact.createContact(); } + mContact.setFirstNameAndLastName( mFirstName.getText().toString(), mLastName.getText().toString(), true); + if (mPhotoToAdd != null) { mContact.setPhoto(mPhotoToAdd); } + for (LinphoneNumberOrAddress noa : mNumbersAndAddresses) { if (noa.isSIPAddress() && noa.getValue() != null) { noa.setValue( @@ -165,7 +168,11 @@ public class ContactEditorFragment extends Fragment { } mContact.addOrUpdateNumberOrAddress(noa); } - mContact.setOrganization(mOrganization.getText().toString(), true); + + if (mIsNewContact && !mOrganization.getText().toString().isEmpty()) { + mContact.setOrganization(mOrganization.getText().toString(), true); + } + mContact.save(); getFragmentManager().popBackStackImmediate(); } diff --git a/app/src/main/java/org/linphone/contacts/LinphoneContact.java b/app/src/main/java/org/linphone/contacts/LinphoneContact.java index 3dff7334b..49f9525ed 100644 --- a/app/src/main/java/org/linphone/contacts/LinphoneContact.java +++ b/app/src/main/java/org/linphone/contacts/LinphoneContact.java @@ -59,7 +59,6 @@ public class LinphoneContact implements Serializable, Comparable mAddresses; private transient ArrayList mChangesToCommit; - private transient ArrayList mChangesToCommit2; private boolean mHasSipAddress; public LinphoneContact() { @@ -69,7 +68,6 @@ public class LinphoneContact implements Serializable, Comparable(); - mChangesToCommit2 = new ArrayList<>(); mHasSipAddress = false; } @@ -84,7 +82,7 @@ public class LinphoneContact implements Serializable, Comparable(); - mChangesToCommit2 = new ArrayList<>(); } } @@ -1125,10 +1165,6 @@ public class LinphoneContact implements Serializable, Comparable 0) { - batch.addAll(mChangesToCommit2); - } - try { LinphoneService.instance() .getContentResolver() diff --git a/app/src/main/res/values/non_localizable_custom.xml b/app/src/main/res/values/non_localizable_custom.xml index d31d27520..6faea083d 100644 --- a/app/src/main/res/values/non_localizable_custom.xml +++ b/app/src/main/res/values/non_localizable_custom.xml @@ -4,9 +4,6 @@ sip.linphone.org sip:conference-factory@sip.linphone.org - ${absolutePackageName}.provider - ${absolutePackageName} - vnd.android.cursor.item/${absolutePackageName}.profile sip:rls@sip.linphone.org LinphoneAndroid false diff --git a/app/src/main/res/xml/authenticator.xml b/app/src/main/res/xml/authenticator.xml index b8b4af2c9..70fe45a40 100644 --- a/app/src/main/res/xml/authenticator.xml +++ b/app/src/main/res/xml/authenticator.xml @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/app/src/main/res/xml/contacts.xml b/app/src/main/res/xml/contacts.xml index feb375247..c986a394a 100644 --- a/app/src/main/res/xml/contacts.xml +++ b/app/src/main/res/xml/contacts.xml @@ -5,7 +5,7 @@ android:detailColumn="data3" android:detailSocialSummary="true" android:icon="@drawable/linphone_logo" - android:mimeType="vnd.android.cursor.item/${absolutePackageName}.profile" + android:mimeType="@string/sync_mimetype" android:summaryColumn="data2" /> diff --git a/app/src/main/res/xml/syncadapter.xml b/app/src/main/res/xml/syncadapter.xml index ab05365f0..7a13cfb7c 100644 --- a/app/src/main/res/xml/syncadapter.xml +++ b/app/src/main/res/xml/syncadapter.xml @@ -1,7 +1,7 @@