From 214658b99e9272e41ec3f8bcde098d8f937e25ef Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 20 Jul 2018 19:02:19 -0700 Subject: [PATCH] Fix recording not resetting properly after a send on older API's. Apparently onAnimationEnd is not a reliable event on some Android versions, so I've moved to instead using a simple postDelayed() that is the same length as the animation. --- .../thoughtcrime/securesms/components/InputPanel.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/org/thoughtcrime/securesms/components/InputPanel.java b/src/org/thoughtcrime/securesms/components/InputPanel.java index ae610dfc84..05fd5ed94d 100644 --- a/src/org/thoughtcrime/securesms/components/InputPanel.java +++ b/src/org/thoughtcrime/securesms/components/InputPanel.java @@ -276,17 +276,8 @@ public class InputPanel extends LinearLayout animation.setDuration(MicrophoneRecorderView.ANIMATION_DURATION); animation.setFillBefore(true); animation.setFillAfter(false); - animation.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) {} - @Override - public void onAnimationEnd(Animation animation) { - future.set(null); - } - @Override - public void onAnimationRepeat(Animation animation) {} - }); + slideToCancelView.postDelayed(() -> future.set(null), MicrophoneRecorderView.ANIMATION_DURATION); slideToCancelView.setVisibility(View.GONE); slideToCancelView.startAnimation(animation);