From d58edf061404f531d7be4919a4181efa42199aef Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Sun, 19 Nov 2023 20:42:16 +0100 Subject: [PATCH] Fixed delete conversation history not updating chat messages list after going back --- .../linphone/ui/main/chat/fragment/ConversationFragment.kt | 7 +++++++ .../ui/main/chat/fragment/ConversationInfoFragment.kt | 2 ++ .../org/linphone/ui/main/viewmodel/SharedMainViewModel.kt | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt index c536617f8..e3fd7d8da 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt @@ -433,6 +433,13 @@ class ConversationFragment : GenericFragment() { } } + sharedViewModel.forceRefreshConversationEvent.observe(viewLifecycleOwner) { + it.consume { + Log.i("$TAG Force refreshing chat messages list") + viewModel.applyFilter("") + } + } + binding.sendArea.messageToSend.setControlEnterListener(object : RichEditText.RichEditTextSendListener { override fun onControlEnterPressedAndReleased() { diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt index 39829fc12..c6356daf8 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt @@ -114,6 +114,7 @@ class ConversationInfoFragment : GenericFragment() { (view.parent as? ViewGroup)?.doOnPreDraw { Log.e("$TAG Failed to find chat room, going back") goBack() + // TODO: show toast ? } } } @@ -139,6 +140,7 @@ class ConversationInfoFragment : GenericFragment() { it.consume { // TODO: show toast ? Log.i("$TAG History has been deleted, leaving conversation info...") + sharedViewModel.forceRefreshConversationEvent.value = Event(true) goBack() } } diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt index 97233832d..123078636 100644 --- a/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/viewmodel/SharedMainViewModel.kt @@ -110,6 +110,10 @@ class SharedMainViewModel @UiThread constructor() : ViewModel() { // When using keyboard to share gif or other, see RichContentReceiver & RichEditText classes val richContentUri = MutableLiveData>() + val forceRefreshConversationEvent: MutableLiveData> by lazy { + MutableLiveData>() + } + /* Meetings related */ val forceRefreshMeetingsListEvent: MutableLiveData> by lazy {