mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-24 11:45:28 +00:00
Fix filter display when returning to conversation list from another tab.
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user