Disable message animations when scrolling.

This commit is contained in:
Alex Hart 2021-10-26 10:46:42 -03:00
parent ae73601f52
commit 2427c226a8

View file

@ -255,14 +255,18 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
reactionsShade = view.findViewById(R.id.reactions_shade); reactionsShade = view.findViewById(R.id.reactions_shade);
final LinearLayoutManager layoutManager = new SmoothScrollingLinearLayoutManager(getActivity(), true); final LinearLayoutManager layoutManager = new SmoothScrollingLinearLayoutManager(getActivity(), true);
final ConversationItemAnimator conversationItemAnimator = new ConversationItemAnimator(() -> { final ConversationItemAnimator conversationItemAnimator = new ConversationItemAnimator(
() -> {
ConversationAdapter adapter = getListAdapter(); ConversationAdapter adapter = getListAdapter();
if (adapter == null) { if (adapter == null) {
return false; return false;
} else { } else {
return Util.hasItems(adapter.getSelectedItems()); return Util.hasItems(adapter.getSelectedItems());
} }
}, () -> conversationViewModel.shouldPlayMessageAnimations(), () -> list.canScrollVertically(1) || list.canScrollVertically(-1)); },
() -> conversationViewModel.shouldPlayMessageAnimations() && list.getScrollState() == RecyclerView.SCROLL_STATE_IDLE,
() -> list.canScrollVertically(1) || list.canScrollVertically(-1));
multiselectItemDecoration = new MultiselectItemDecoration(requireContext(), multiselectItemDecoration = new MultiselectItemDecoration(requireContext(),
() -> conversationViewModel.getWallpaper().getValue()); () -> conversationViewModel.getWallpaper().getValue());