From 798282c9807e93bcf7cb07b1366e2e1788c635c1 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 6 Mar 2017 16:47:29 +0100 Subject: [PATCH] Fix bug with RLS presence --- res/raw/linphonerc_factory | 3 +-- res/values/non_localizable_custom.xml | 1 + src/org/linphone/ContactsManager.java | 5 ++++- src/org/linphone/LinphoneActivity.java | 5 ----- src/org/linphone/LinphoneManager.java | 3 ++- submodules/linphone | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 8723a1069..3dfd803f2 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -12,8 +12,7 @@ register_only_when_network_is_up=1 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 +rls_uri= [rtp] audio_rtp_port=7076 diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index eb624b797..87e9d31b1 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -5,6 +5,7 @@ sip.linphone.org org.linphone vnd.android.cursor.item/org.linphone.profile + sip:rls@sip.linphone.org false false false diff --git a/src/org/linphone/ContactsManager.java b/src/org/linphone/ContactsManager.java index 96f8804e5..bbc7a2951 100644 --- a/src/org/linphone/ContactsManager.java +++ b/src/org/linphone/ContactsManager.java @@ -423,7 +423,10 @@ public class ContactsManager extends ContentObserver { setContacts(contacts); setSipContacts(sipContacts); - LinphoneManager.getLc().getFriendLists()[0].updateSubscriptions(); + if (LinphonePreferences.instance() != null && LinphonePreferences.instance().isFriendlistsubscriptionEnabled()) { + LinphoneManager.getLc().getFriendLists()[0].setRLSUri(getString(R.string.rls_uri)); + LinphoneManager.getLc().getFriendLists()[0].updateSubscriptions(); + } for (ContactsUpdatedListener listener : contactsUpdatedListeners) { listener.onContactsUpdated(); } diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 79757a873..3341838db 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -1358,11 +1358,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } updateMissedChatCount(); - if(LinphonePreferences.instance().isFriendlistsubscriptionEnabled() && LinphoneManager.getLc().getDefaultProxyConfig() != null){ - LinphoneManager.getInstance().subscribeFriendList(true); - } else { - LinphoneManager.getInstance().subscribeFriendList(false); - } displayMissedCalls(LinphoneManager.getLc().getMissedCallsCount()); diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 91a761cf0..a748a5917 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -467,6 +467,8 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag LinphoneFriendList mFriendList = (lc.getFriendLists())[0]; Log.i("Presence list subscription is " + (enabled ? "enabled" : "disabled")); mFriendList.enableSubscriptions(enabled); + if (ContactsManager.getInstance() != null) + ContactsManager.getInstance().fetchContactsAsync(); } } @@ -789,7 +791,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag mLc.setCallLogsDatabasePath(mCallLogDatabaseFile); mLc.setFriendsDatabasePath(mFriendsDatabaseFile); mLc.setUserCertificatesPath(mUserCertificatePath); - subscribeFriendList(false); //mLc.setCallErrorTone(Reason.NotFound, mErrorToneFile); enableDeviceRingtone(mPrefs.isDeviceRingtoneEnabled()); diff --git a/submodules/linphone b/submodules/linphone index 9bea70ebe..fb21732c3 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 9bea70ebe3069a9b7ccfc2b090ce8e8834a8cbee +Subproject commit fb21732c38217f81887684e0cd42a9ebf44ba2c5