diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml
index 69e3a26cc..3c5437668 100644
--- a/res/values/non_localizable_strings.xml
+++ b/res/values/non_localizable_strings.xml
@@ -202,7 +202,7 @@
- Send logs
- Cancel
-
+
pref_use_lime_encryption_key
pref_device_ringtone_key
pref_auto_answer_key
diff --git a/res/xml/account_preferences.xml b/res/xml/account_preferences.xml
index 305750376..54223f108 100644
--- a/res/xml/account_preferences.xml
+++ b/res/xml/account_preferences.xml
@@ -87,11 +87,6 @@
android:key="@string/pref_escape_plus_key"
android:persistent="false"/>
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -59,7 +59,7 @@
android:key="@string/pref_echo_cancellation_key"
android:summary="@string/pref_echo_cancellation_summary"
android:persistent="false"/>
-
+
-
+
-
+
-
+
-
+
-
+
@@ -103,28 +103,28 @@
android:title="@string/pref_video_enable_title"
android:key="@string/pref_video_enable_key"
android:persistent="false"/>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
-
+
-
+
@@ -185,61 +185,61 @@
android:title="@string/pref_device_ringtone"
android:key="@string/pref_device_ringtone_key"
android:persistent="false"/>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
-
+
-
+
-
+
@@ -247,124 +247,129 @@
android:title="@string/pref_wifi_only"
android:key="@string/pref_wifi_only_key"
android:persistent="false"/>
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
-
+
@@ -380,7 +385,7 @@
android:persistent="false"/>
-
+
diff --git a/src/org/linphone/AccountPreferencesFragment.java b/src/org/linphone/AccountPreferencesFragment.java
index 74bac8674..bbb6163fb 100644
--- a/src/org/linphone/AccountPreferencesFragment.java
+++ b/src/org/linphone/AccountPreferencesFragment.java
@@ -247,15 +247,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen
return true;
}
};
- OnPreferenceChangeListener friendlistSubscribeListener = new OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- boolean value = (Boolean) newValue;
- mPrefs.enabledFriendlistSubscription(value);
- LinphoneManager.getInstance().subscribeFriendList(value);
- return true;
- }
- };
OnPreferenceClickListener linkAccountListener = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -397,13 +388,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen
escape.setChecked(mPrefs.getReplacePlusByZeroZero(n));
}
- CheckBoxPreference friendlistSubscribe = (CheckBoxPreference) advanced.getPreference(8);
- friendlistSubscribe.setOnPreferenceChangeListener(friendlistSubscribeListener);
- if(!isNewAccount){
- friendlistSubscribe.setChecked(mPrefs.isFriendlistsubscriptionEnabled());
- }
-
- Preference linkAccount = advanced.getPreference(9);
+ Preference linkAccount = advanced.getPreference(8);
linkAccount.setOnPreferenceClickListener(linkAccountListener);
PreferenceCategory manage = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_manage_key));
diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java
index ee42e019c..98b7fada2 100644
--- a/src/org/linphone/LinphoneManager.java
+++ b/src/org/linphone/LinphoneManager.java
@@ -788,7 +788,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
mLc.setCallLogsDatabasePath(mCallLogDatabaseFile);
mLc.setFriendsDatabasePath(mFriendsDatabaseFile);
mLc.setUserCertificatesPath(mUserCertificatePath);
- subscribeFriendList(mPrefs.isFriendlistsubscriptionEnabled());
+ subscribeFriendList(false);
//mLc.setCallErrorTone(Reason.NotFound, mErrorToneFile);
enableDeviceRingtone(mPrefs.isDeviceRingtoneEnabled());
diff --git a/src/org/linphone/SettingsFragment.java b/src/org/linphone/SettingsFragment.java
index fac2faf1b..4f9c96773 100644
--- a/src/org/linphone/SettingsFragment.java
+++ b/src/org/linphone/SettingsFragment.java
@@ -1150,6 +1150,7 @@ public class SettingsFragment extends PreferencesListFragment {
}
private void initAdvancedSettings() {
+ ((CheckBoxPreference)findPreference(getString(R.string.pref_friendlist_subscribe_key))).setChecked(mPrefs.isFriendlistsubscriptionEnabled());
((CheckBoxPreference)findPreference(getString(R.string.pref_debug_key))).setChecked(mPrefs.isDebugEnabled());
((CheckBoxPreference)findPreference(getString(R.string.pref_background_mode_key))).setChecked(mPrefs.isBackgroundModeEnabled());
((CheckBoxPreference)findPreference(getString(R.string.pref_service_notification_key))).setChecked(mPrefs.getServiceNotificationVisibility());
@@ -1160,6 +1161,17 @@ public class SettingsFragment extends PreferencesListFragment {
}
private void setAdvancedPreferencesListener() {
+
+ findPreference(getString(R.string.pref_friendlist_subscribe_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ boolean value = (Boolean) newValue;
+ mPrefs.enabledFriendlistSubscription(value);
+ LinphoneManager.getInstance().subscribeFriendList(value);
+ return true;
+ }
+ });
+
findPreference(getString(R.string.pref_debug_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
diff --git a/src/org/linphone/assistant/AssistantActivity.java b/src/org/linphone/assistant/AssistantActivity.java
index 21fcdf27a..a628bad0f 100644
--- a/src/org/linphone/assistant/AssistantActivity.java
+++ b/src/org/linphone/assistant/AssistantActivity.java
@@ -510,6 +510,7 @@ private static AssistantActivity instance;
.setNoDefault(false);
mPrefs.enabledFriendlistSubscription(getResources().getBoolean(R.bool.use_friendlist_subscription));
+ LinphoneManager.getInstance().subscribeFriendList(getResources().getBoolean(R.bool.use_friendlist_subscription));
mPrefs.setStunServer(getString(R.string.default_stun));
mPrefs.setIceEnabled(true);