From bcd08956bd8d041fd80df72e1b964d38aaa1b555 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Mon, 16 Nov 2015 18:38:36 -0800 Subject: [PATCH] clear drafts immediately upon sending or new intent fixes #3843 closes #3850 Closes #4571 // FREEBIE --- .../securesms/mms/AttachmentManager.java | 23 +++++++------------ .../thoughtcrime/securesms/util/ViewUtil.java | 4 ++-- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java index cdc8a2a7d2..dd4c5d1c8e 100644 --- a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java +++ b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java @@ -29,8 +29,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.util.Log; import android.view.View; -import android.view.animation.AlphaAnimation; -import android.view.animation.Animation; import android.widget.Toast; import org.thoughtcrime.securesms.R; @@ -42,9 +40,11 @@ import org.thoughtcrime.securesms.providers.PersistentBlobProvider; import org.thoughtcrime.securesms.recipients.Recipients; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.ViewUtil; +import org.thoughtcrime.securesms.util.concurrent.ListenableFuture.Listener; import org.whispersystems.libaxolotl.util.guava.Optional; import java.io.IOException; +import java.util.concurrent.ExecutionException; public class AttachmentManager { @@ -72,25 +72,18 @@ public class AttachmentManager { } public void clear() { - AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f); - animation.setDuration(200); - animation.setAnimationListener(new Animation.AnimationListener() { + ViewUtil.fadeOut(attachmentView, 200).addListener(new Listener() { @Override - public void onAnimationStart(Animation animation) {} - - @Override - public void onAnimationRepeat(Animation animation) {} - - @Override - public void onAnimationEnd(Animation animation) { - slide = Optional.absent(); + public void onSuccess(Boolean result) { thumbnail.clear(); attachmentView.setVisibility(View.GONE); attachmentListener.onAttachmentChanged(); } - }); - attachmentView.startAnimation(animation); + @Override + public void onFailure(ExecutionException e) {} + }); + slide = Optional.absent(); audioView.cleanup(); } diff --git a/src/org/thoughtcrime/securesms/util/ViewUtil.java b/src/org/thoughtcrime/securesms/util/ViewUtil.java index 8c2016a43b..d9c1403f05 100644 --- a/src/org/thoughtcrime/securesms/util/ViewUtil.java +++ b/src/org/thoughtcrime/securesms/util/ViewUtil.java @@ -129,8 +129,8 @@ public class ViewUtil { animateIn(view, getAlphaAnimation(0f, 1f, duration)); } - public static void fadeOut(final @NonNull View view, final int duration) { - animateOut(view, getAlphaAnimation(1f, 0f, duration)); + public static ListenableFuture fadeOut(final @NonNull View view, final int duration) { + return animateOut(view, getAlphaAnimation(1f, 0f, duration)); } public static ListenableFuture animateOut(final @NonNull View view, final @NonNull Animation animation) {