From d18480b126bbc2fa4ce03938545d940ec1f40ae9 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 14 Sep 2016 16:57:44 +0200 Subject: [PATCH] fix migration to presence list, fix crash in linphone submodule --- res/raw/linphonerc_factory | 2 +- src/org/linphone/LinphoneManager.java | 1 + src/org/linphone/PreferencesMigrator.java | 16 ++++++++++++++++ submodules/linphone | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 9fa9d8182..45bd4f494 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -13,7 +13,7 @@ auto_net_state_mon=0 auto_answer_replacing_calls=1 ping_with_options=0 rls_uri=sip:rls@sip.linphone.org -use_rls_presence=1 + [rtp] audio_rtp_port=7076 diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 93abf091f..b0222136d 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -716,6 +716,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag PreferencesMigrator prefMigrator = new PreferencesMigrator(mServiceContext); prefMigrator.migrateRemoteProvisioningUriIfNeeded(); prefMigrator.migrateSharingServerUrlIfNeeded(); + prefMigrator.doPresenceMigrationIfNeeded(); if (prefMigrator.isMigrationNeeded()) { prefMigrator.doMigration(); diff --git a/src/org/linphone/PreferencesMigrator.java b/src/org/linphone/PreferencesMigrator.java index 0d2c3cc73..69ece6d8d 100644 --- a/src/org/linphone/PreferencesMigrator.java +++ b/src/org/linphone/PreferencesMigrator.java @@ -22,6 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import org.linphone.LinphonePreferences.AccountBuilder; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; +import org.linphone.core.LinphoneProxyConfig; +import org.linphone.core.LpConfig; import org.linphone.mediastream.Log; import android.content.Context; @@ -163,6 +165,20 @@ public class PreferencesMigrator { } } + public void doPresenceMigrationIfNeeded() { + LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + LpConfig cfg = lc.getConfig(); + if (cfg.getString("app", "friendlist_subscription_enabled", null) == null){ + LinphoneProxyConfig proxy = lc.getDefaultProxyConfig(); + if (proxy != null) { + String domain = proxy.getDomain(); + if (domain!=null && domain.equals(getString(R.string.default_domain))) { + cfg.setBool("app", "friendlist_subscription_enabled", true); + } + } + } + } + private void deleteAllOldPreferences() { Editor editor = mOldPrefs.edit(); editor.clear(); diff --git a/submodules/linphone b/submodules/linphone index a6e7eec3b..332246314 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit a6e7eec3b3ec268e7d86f85ae268b53eca5c10de +Subproject commit 332246314846ed07cace73e53733cc3a60b0e86c