From 918b792d83ed7768be2d1d576b32b363266a4e91 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 14 May 2025 12:35:59 -0300 Subject: [PATCH] Fix filter display when returning to conversation list from another tab. --- .../conversationlist/ConversationListFragment.java | 4 ++++ .../chatfilter/ConversationListFilterPullView.kt | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index e8b546ed05..cef64d373a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -869,6 +869,10 @@ public class ConversationListFragment extends MainFragment implements ActionMode lifecycleDisposable.add(viewModel.getWebSocketState().subscribe(pipeState -> requireCallback().updateProxyStatus(pipeState))); lifecycleDisposable.add(viewModel.getChatFolderState().subscribe(this::onChatFoldersChanged)); + if (viewModel.getConversationFilterRequest().getFilter() == ConversationFilter.UNREAD) { + pullView.openAfterNextLayout(); + } + appForegroundObserver = new AppForegroundObserver.Listener() { @Override public void onForeground() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt index 620f7aecb4..4c18f4f11c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt @@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.animation.AnimationCompleteListener import org.thoughtcrime.securesms.databinding.ConversationListFilterPullViewBinding import org.thoughtcrime.securesms.util.VibrateUtil +import org.thoughtcrime.securesms.util.doAfterNextLayout import org.thoughtcrime.securesms.util.doOnEachLayout import kotlin.math.max import kotlin.math.min @@ -104,7 +105,7 @@ class ConversationListFilterPullView @JvmOverloads constructor( doOnNextLayout { when (restoredState.toLatestSettledState()) { - FilterPullState.OPEN -> toggle(restoredSource) + FilterPullState.OPEN -> open(restoredSource) FilterPullState.CLOSED -> Unit else -> throw IllegalStateException("Unexpected settled state.") } @@ -195,6 +196,7 @@ class ConversationListFilterPullView @JvmOverloads constructor( } fun openImmediate() { + println("openImmediate from $state") if (state == FilterPullState.CLOSED) { setState(FilterPullState.OPEN_APEX, source) setState(FilterPullState.OPENING, source) @@ -206,6 +208,12 @@ class ConversationListFilterPullView @JvmOverloads constructor( } } + fun openAfterNextLayout() { + doAfterNextLayout { + openImmediate() + } + } + private fun open(source: ConversationFilterSource) { setState(FilterPullState.OPENING, source) animatePillIn(source)