From c13be6ef7defc989e8136ceb820dc76ba5d4384e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 17 Jan 2017 16:14:31 +0100 Subject: [PATCH] Disable sql storage for friends if native contacts access is enabled to prevent loading them from sql at next app start for nothing --- src/org/linphone/ContactDetailsFragment.java | 2 +- src/org/linphone/ContactsManager.java | 4 ++++ src/org/linphone/LinphonePreferences.java | 12 ++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/ContactDetailsFragment.java b/src/org/linphone/ContactDetailsFragment.java index fb71c90bd..0474cb924 100644 --- a/src/org/linphone/ContactDetailsFragment.java +++ b/src/org/linphone/ContactDetailsFragment.java @@ -183,7 +183,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener LinphoneActivity.instance().selectMenu(FragmentsAvailable.CONTACT_DETAIL); LinphoneActivity.instance().hideTabBar(false); } - contact.refresh(); + contact.minimalRefresh(); displayContact(inflater, view); } diff --git a/src/org/linphone/ContactsManager.java b/src/org/linphone/ContactsManager.java index b3f7bca7e..b1681d72f 100644 --- a/src/org/linphone/ContactsManager.java +++ b/src/org/linphone/ContactsManager.java @@ -175,6 +175,7 @@ public class ContactsManager extends ContentObserver { public void enableContactsAccess() { hasContactAccess = true; + LinphonePreferences.instance().disableFriendsStorage(); } public boolean hasContactsAccess() { @@ -355,6 +356,9 @@ public class ContactsManager extends ContentObserver { contact.setFriend(friend); contacts.add(contact); } + } else { + // Now that we no longer store friends in database that match one in the system, let's remove it + lc.removeFriend(friend); } } else { // No refkey so it's a standalone contact diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index 889e13bbc..d3a217ee7 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -1467,4 +1467,16 @@ public class LinphonePreferences { public int getCodeLength(){ return getConfig().getInt("app", "activation_code_length", 0); } + + public void disableFriendsStorage() { + getConfig().setBool("misc", "store_friends", false); + } + + public void enableFriendsStorage() { + getConfig().setBool("misc", "store_friends", true); + } + + public boolean isFriendsStorageEnabled() { + return getConfig().getBool("misc", "store_friends", true); + } }