From 2427c226a8c241c2d197c7502ebd1aca31dda22a Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 26 Oct 2021 10:46:42 -0300 Subject: [PATCH] Disable message animations when scrolling. --- .../conversation/ConversationFragment.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java index a09bf55a47..20116a8199 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java @@ -255,14 +255,18 @@ public class ConversationFragment extends LoggingFragment implements Multiselect reactionsShade = view.findViewById(R.id.reactions_shade); final LinearLayoutManager layoutManager = new SmoothScrollingLinearLayoutManager(getActivity(), true); - final ConversationItemAnimator conversationItemAnimator = new ConversationItemAnimator(() -> { - ConversationAdapter adapter = getListAdapter(); - if (adapter == null) { - return false; - } else { - return Util.hasItems(adapter.getSelectedItems()); - } - }, () -> conversationViewModel.shouldPlayMessageAnimations(), () -> list.canScrollVertically(1) || list.canScrollVertically(-1)); + final ConversationItemAnimator conversationItemAnimator = new ConversationItemAnimator( + () -> { + ConversationAdapter adapter = getListAdapter(); + if (adapter == null) { + return false; + } else { + return Util.hasItems(adapter.getSelectedItems()); + } + }, + () -> conversationViewModel.shouldPlayMessageAnimations() && list.getScrollState() == RecyclerView.SCROLL_STATE_IDLE, + () -> list.canScrollVertically(1) || list.canScrollVertically(-1)); + multiselectItemDecoration = new MultiselectItemDecoration(requireContext(), () -> conversationViewModel.getWallpaper().getValue());