From d9228bd911d82164cf16d3c14c96c9e1280e5cce Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 9 Jul 2021 13:40:14 -0300 Subject: [PATCH] Fix issue where compose views still display under draft. --- .../securesms/components/InputPanel.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 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 6f92ce5d67..50ed921bd8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java @@ -55,6 +55,7 @@ import org.thoughtcrime.securesms.util.concurrent.ListenableFuture; import org.thoughtcrime.securesms.util.concurrent.SettableFuture; import org.whispersystems.libsignal.util.guava.Optional; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -456,14 +457,7 @@ public class InputPanel extends LinearLayout if (voiceNoteDraft != null) { voiceNoteDraftView.setDraft(voiceNoteDraft); voiceNoteDraftView.setVisibility(VISIBLE); - - if (emojiVisible) { - mediaKeyboard.setVisibility(View.INVISIBLE); - } - - composeText.setVisibility(View.INVISIBLE); - quickCameraToggle.setVisibility(View.INVISIBLE); - quickAudioToggle.setVisibility(View.INVISIBLE); + hideNormalComposeViews(); } else { voiceNoteDraftView.clearDraft(); ViewUtil.fadeOut(voiceNoteDraftView, FADE_TIME); @@ -475,6 +469,29 @@ public class InputPanel extends LinearLayout return voiceNoteDraftView.getDraft(); } + private void hideNormalComposeViews() { + if (emojiVisible) { + Animation animation = mediaKeyboard.getAnimation(); + if (animation != null) { + animation.cancel(); + } + + mediaKeyboard.setVisibility(View.INVISIBLE); + } + + for (Animation animation : Arrays.asList(composeText.getAnimation(), quickCameraToggle.getAnimation(), quickAudioToggle.getAnimation())) { + if (animation != null) { + animation.cancel(); + } + } + + 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);