From 87e1ae35002c1840d7f118f68de0e5b6f10ea194 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 9 Jun 2021 09:34:10 +0200 Subject: [PATCH] Fixed scroll when sending messages + added default RLS SIP URI --- .../activities/chat_bubble/ChatBubbleActivity.kt | 2 +- .../main/chat/fragments/DetailChatRoomFragment.kt | 14 ++++---------- .../chat/viewmodels/ChatMessagesListViewModel.kt | 6 ------ .../org/linphone/contact/AsyncContactsLoader.kt | 4 ++-- .../main/java/org/linphone/core/CorePreferences.kt | 3 +++ 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt index 42e4baf11..139cba589 100644 --- a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt +++ b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt @@ -51,7 +51,7 @@ class ChatBubbleActivity : GenericActivity() { private val observer = object : RecyclerView.AdapterDataObserver() { override fun onItemRangeInserted(positionStart: Int, itemCount: Int) { - if (positionStart == adapter.itemCount - 1) { + if (positionStart == adapter.itemCount - itemCount) { adapter.notifyItemChanged(positionStart - 1) // For grouping purposes scrollToBottom() } diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt index 4883cacdb..37c0a677c 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt @@ -39,7 +39,6 @@ import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import java.io.File -import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences @@ -72,6 +71,10 @@ class DetailChatRoomFragment : MasterFragment>() } - val scrollToBottomOnMessageReceivedEvent: MutableLiveData> by lazy { - MutableLiveData>() - } - private val chatRoomListener: ChatRoomListenerStub = object : ChatRoomListenerStub() { override fun onChatMessageReceived(chatRoom: ChatRoom, eventLog: EventLog) { chatRoom.markAsRead() @@ -211,8 +207,6 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() { list.add(eventLog) } events.value = list - - scrollToBottomOnMessageReceivedEvent.value = Event(true) } private fun getEvents(): ArrayList { diff --git a/app/src/main/java/org/linphone/contact/AsyncContactsLoader.kt b/app/src/main/java/org/linphone/contact/AsyncContactsLoader.kt index d184c67f9..3433f893b 100644 --- a/app/src/main/java/org/linphone/contact/AsyncContactsLoader.kt +++ b/app/src/main/java/org/linphone/contact/AsyncContactsLoader.kt @@ -238,8 +238,8 @@ class AsyncContactsLoader(private val context: Context) : for (list in core.friendsLists) { if (list.rlsAddress == null) { Log.w("[Contacts Loader] Friend list subscription enabled but RLS URI not set!") - val defaultRlsUri = core.config.getString("sip", "rls_uri", null) - if (defaultRlsUri != null) { + val defaultRlsUri = corePreferences.defaultRlsUri + if (defaultRlsUri.isNotEmpty()) { val rlsAddress = core.interpretUrl(defaultRlsUri) if (rlsAddress != null) { Log.i("[Contacts Loader] Using new RLS URI: ${rlsAddress.asStringUriOnly()}") diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index f447025fc..86a2b084b 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -389,6 +389,9 @@ class CorePreferences constructor(private val context: Context) { val defaultDomain: String get() = config.getString("app", "default_domain", "sip.linphone.org")!! + val defaultRlsUri: String + get() = config.getString("sip", "rls_uri", "sips:rls@sip.linphone.org")!! + val debugPopupCode: String get() = config.getString("app", "debug_popup_magic", "#1234#")!!