From 2718dca6ea63e559c34291c81828eee5f97f83bf Mon Sep 17 00:00:00 2001 From: Rashad Sookram Date: Fri, 11 Feb 2022 11:31:26 -0500 Subject: [PATCH] Fix input panel animation when recording. Fixes #11975 --- .../securesms/components/InputPanel.java | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java index 696c8bcb7c..685f96119b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java @@ -354,13 +354,13 @@ public class InputPanel extends LinearLayout slideToCancel.display(); if (emojiVisible) { - ViewUtil.fadeOut(mediaKeyboard, FADE_TIME, View.INVISIBLE); + fadeOut(mediaKeyboard); } - ViewUtil.fadeOut(composeText, FADE_TIME, View.INVISIBLE); - ViewUtil.fadeOut(quickCameraToggle, FADE_TIME, View.INVISIBLE); - ViewUtil.fadeOut(quickAudioToggle, FADE_TIME, View.INVISIBLE); - buttonToggle.animate().alpha(0).setDuration(FADE_TIME).start(); + fadeOut(composeText); + fadeOut(quickCameraToggle); + fadeOut(quickAudioToggle); + fadeOut(buttonToggle); } @Override @@ -401,7 +401,7 @@ public class InputPanel extends LinearLayout public void onRecordLocked() { slideToCancel.hide(); recordLockCancel.setVisibility(View.VISIBLE); - buttonToggle.animate().alpha(1).setDuration(FADE_TIME).start(); + fadeIn(buttonToggle); if (listener != null) listener.onRecorderLocked(); } @@ -488,36 +488,33 @@ public class InputPanel extends LinearLayout private void hideNormalComposeViews() { if (emojiVisible) { - Animation animation = mediaKeyboard.getAnimation(); - if (animation != null) { - animation.cancel(); - } - - mediaKeyboard.setVisibility(View.INVISIBLE); + mediaKeyboard.animate().cancel(); + mediaKeyboard.setAlpha(0f); } - for (Animation animation : Arrays.asList(composeText.getAnimation(), quickCameraToggle.getAnimation(), quickAudioToggle.getAnimation())) { - if (animation != null) { - animation.cancel(); - } + for (View view : Arrays.asList(composeText, quickCameraToggle, quickAudioToggle, buttonToggle)) { + view.animate().cancel(); + view.setAlpha(0f); } - - buttonToggle.animate().cancel(); - - composeText.setVisibility(View.INVISIBLE); - quickCameraToggle.setVisibility(View.INVISIBLE); - quickAudioToggle.setVisibility(View.INVISIBLE); } private void fadeInNormalComposeViews() { if (emojiVisible) { - ViewUtil.fadeIn(mediaKeyboard, FADE_TIME); + fadeIn(mediaKeyboard); } - ViewUtil.fadeIn(composeText, FADE_TIME); - ViewUtil.fadeIn(quickCameraToggle, FADE_TIME); - ViewUtil.fadeIn(quickAudioToggle, FADE_TIME); - buttonToggle.animate().alpha(1).setDuration(FADE_TIME).start(); + fadeIn(composeText); + fadeIn(quickCameraToggle); + fadeIn(quickAudioToggle); + fadeIn(buttonToggle); + } + + private void fadeIn(@NonNull View v) { + v.animate().alpha(1).setDuration(FADE_TIME).start(); + } + + private void fadeOut(@NonNull View v) { + v.animate().alpha(0).setDuration(FADE_TIME).start(); } private void updateVisibility() {