From 18bb876d1bdd15ab57aa80e7ce8956a8a1307a57 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 15 Nov 2021 11:21:45 -0500 Subject: [PATCH] Fix payments banner causing weird conversation list animations. --- .../ConversationListFragment.java | 18 ++++-------------- .../ConversationListItemAnimator.java | 8 +++++++- 2 files changed, 11 insertions(+), 15 deletions(-) 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 425e43df12..f5bb4f5587 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -315,6 +315,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode updateReminders(); EventBus.getDefault().register(this); + itemAnimator.disable(); if (Util.isDefaultSmsProvider(requireContext())) { InsightsLauncher.showInsightsModal(requireContext(), requireFragmentManager()); @@ -355,6 +356,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode super.onStart(); ConversationFragment.prepare(requireContext()); ApplicationDependencies.getAppForegroundObserver().addListener(appForegroundObserver); + itemAnimator.disable(); } @Override @@ -695,30 +697,18 @@ public class ConversationListFragment extends MainFragment implements ActionMode } private void animatePaymentUnreadStatusIn() { - animatePaymentUnreadStatus(ConstraintSet.VISIBLE); + paymentNotificationView.get().setVisibility(View.VISIBLE); unreadPaymentsDot.animate().alpha(1); } private void animatePaymentUnreadStatusOut() { if (paymentNotificationView.resolved()) { - animatePaymentUnreadStatus(ConstraintSet.GONE); + paymentNotificationView.get().setVisibility(View.GONE); } unreadPaymentsDot.animate().alpha(0); } - private void animatePaymentUnreadStatus(int constraintSetVisibility) { - paymentNotificationView.get(); - - TransitionManager.beginDelayedTransition(constraintLayout); - - ConstraintSet currentLayout = new ConstraintSet(); - currentLayout.clone(constraintLayout); - - currentLayout.setVisibility(R.id.payments_notification, constraintSetVisibility); - currentLayout.applyTo(constraintLayout); - } - private void onSearchResultChanged(@Nullable SearchResult result) { result = result != null ? result : SearchResult.EMPTY; searchAdapter.updateResults(result); diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItemAnimator.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItemAnimator.java index cc638ce848..e477fb41f0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItemAnimator.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItemAnimator.java @@ -27,8 +27,14 @@ public class ConversationListItemAnimator extends DefaultItemAnimator { shouldDisable = false; } + @MainThread + public void disable() { + setMoveDuration(0); + } + + /** - * We need to reasonable ensure that the animation has started before we disable things here, so we add a slight delay. + * We need to reasonably ensure that the animation has started before we disable things here, so we add a slight delay. */ @MainThread public void postDisable(Handler handler) {