diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml
index a84e65a8c..de0d63ee6 100644
--- a/res/values/non_localizable_custom.xml
+++ b/res/values/non_localizable_custom.xml
@@ -50,6 +50,7 @@
false
false
+ true
true
false
diff --git a/src/org/linphone/ContactsManager.java b/src/org/linphone/ContactsManager.java
index fbfc99d0c..bdfb75f2f 100644
--- a/src/org/linphone/ContactsManager.java
+++ b/src/org/linphone/ContactsManager.java
@@ -425,9 +425,11 @@ public class ContactsManager {
contact.refresh(contentResolver);
//Add tag to Linphone contact if it not existed
- if(!isContactHasLinphoneTag(contact,contentResolver)){
- Compatibility.createLinphoneContactTag(context,contentResolver,contact,
- findRawContactID(contentResolver, String.valueOf(contact.getID())));
+ if (LinphoneActivity.instance().getResources().getBoolean(R.bool.use_linphone_tag)) {
+ if (!isContactHasLinphoneTag(contact, contentResolver)) {
+ Compatibility.createLinphoneContactTag(context, contentResolver, contact,
+ findRawContactID(contentResolver, String.valueOf(contact.getID())));
+ }
}
sipContactList.add(contact);
@@ -441,10 +443,11 @@ public class ContactsManager {
continue;
//Remove linphone contact tag if the contact has no sip address
- if(removeContactTagIsNeeded(contact) && isContactHasLinphoneTag(contact,contentResolver)){
- removeLinphoneContactTag(contact);
+ if (LinphoneActivity.instance().getResources().getBoolean(R.bool.use_linphone_tag)) {
+ if (removeContactTagIsNeeded(contact) && isContactHasLinphoneTag(contact, contentResolver)) {
+ removeLinphoneContactTag(contact);
+ }
}
-
for (Contact c : sipContactList) {
if (c != null && c.getID().equals(contact.getID())) {
contact = c;
diff --git a/src/org/linphone/EditContactFragment.java b/src/org/linphone/EditContactFragment.java
index f2e23bd5c..9bd986a40 100644
--- a/src/org/linphone/EditContactFragment.java
+++ b/src/org/linphone/EditContactFragment.java
@@ -466,7 +466,9 @@ public class EditContactFragment extends Fragment {
} else {
Compatibility.deleteSipAddressFromContact(ops, oldNumberOrAddress, String.valueOf(contactID));
}
- Compatibility.deleteLinphoneContactTag(ops, oldNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ if (getResources().getBoolean(R.bool.use_linphone_tag)) {
+ Compatibility.deleteLinphoneContactTag(ops, oldNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ }
} else {
String select = ContactsContract.Data.CONTACT_ID + "=? AND "
+ ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' AND "
@@ -525,7 +527,9 @@ public class EditContactFragment extends Fragment {
}
Compatibility.addSipAddressToContact(getActivity(), ops, newNumberOrAddress, rawContactId);
- Compatibility.addLinphoneContactTag(getActivity(), ops, newNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ if (getResources().getBoolean(R.bool.use_linphone_tag)) {
+ Compatibility.addLinphoneContactTag(getActivity(), ops, newNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ }
} else {
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValue(ContactsContract.Data.RAW_CONTACT_ID, rawContactId)
@@ -557,7 +561,9 @@ public class EditContactFragment extends Fragment {
}
}
Compatibility.updateSipAddressForContact(ops, oldNumberOrAddress, newNumberOrAddress, String.valueOf(contactID));
- Compatibility.updateLinphoneContactTag(getActivity(), ops, newNumberOrAddress, oldNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ if (getResources().getBoolean(R.bool.use_linphone_tag)) {
+ Compatibility.updateLinphoneContactTag(getActivity(), ops, newNumberOrAddress, oldNumberOrAddress, contactsManager.findRawLinphoneContactID(String.valueOf(contactID)));
+ }
} else {
String select = ContactsContract.Data.CONTACT_ID + "=? AND "
+ ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' AND "
diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java
index 271e435b7..b425f249a 100644
--- a/src/org/linphone/LinphoneActivity.java
+++ b/src/org/linphone/LinphoneActivity.java
@@ -149,7 +149,9 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene
}
}
- ContactsManager.getInstance().initializeSyncAccount(getApplicationContext(), getContentResolver());
+ if (getResources().getBoolean(R.bool.use_linphone_tag)) {
+ ContactsManager.getInstance().initializeSyncAccount(getApplicationContext(), getContentResolver());
+ }
if(!LinphonePreferences.instance().isContactsMigrationDone()){
ContactsManager.getInstance().migrateContacts();
@@ -613,21 +615,19 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene
String displayName = contact != null ? contact.getName() : null;
String pictureUri = contact != null && contact.getPhotoUri() != null ? contact.getPhotoUri().toString() : null;
- if (currentFragment == FragmentsAvailable.CHATLIST || currentFragment == FragmentsAvailable.CHAT) {
- if (isTablet()) {
- Fragment fragment2 = getSupportFragmentManager().findFragmentById(R.id.fragmentContainer2);
- if (fragment2 != null && fragment2.isVisible() && currentFragment == FragmentsAvailable.CHAT) {
- ChatFragment chatFragment = (ChatFragment) fragment2;
- chatFragment.changeDisplayedChat(sipUri, displayName, pictureUri);
- } else {
- Bundle extras = new Bundle();
- extras.putString("SipUri", sipUri);
- if (lAddress.getDisplayName() != null) {
- extras.putString("DisplayName", displayName);
- extras.putString("PictureUri", pictureUri);
- }
- changeCurrentFragment(FragmentsAvailable.CHAT, extras);
+ if (isTablet() && (currentFragment == FragmentsAvailable.CHATLIST || currentFragment == FragmentsAvailable.CHAT)) {
+ Fragment fragment2 = getSupportFragmentManager().findFragmentById(R.id.fragmentContainer2);
+ if (fragment2 != null && fragment2.isVisible() && currentFragment == FragmentsAvailable.CHAT) {
+ ChatFragment chatFragment = (ChatFragment) fragment2;
+ chatFragment.changeDisplayedChat(sipUri, displayName, pictureUri);
+ } else {
+ Bundle extras = new Bundle();
+ extras.putString("SipUri", sipUri);
+ if (lAddress.getDisplayName() != null) {
+ extras.putString("DisplayName", displayName);
+ extras.putString("PictureUri", pictureUri);
}
+ changeCurrentFragment(FragmentsAvailable.CHAT, extras);
}
} else {
Intent intent = new Intent(this, ChatActivity.class);