From 84e179f9d30d3cb0cf1e4683857dd12f7d2fb337 Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Wed, 12 Oct 2022 17:36:46 +0200 Subject: [PATCH] Add helper to simplify animation end listeners --- .../helpers/SimpleAnimationEndListener.java | 32 +++++++++++++++ .../aegis/ui/EditEntryActivity.java | 41 ++++--------------- 2 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 app/src/main/java/com/beemdevelopment/aegis/helpers/SimpleAnimationEndListener.java diff --git a/app/src/main/java/com/beemdevelopment/aegis/helpers/SimpleAnimationEndListener.java b/app/src/main/java/com/beemdevelopment/aegis/helpers/SimpleAnimationEndListener.java new file mode 100644 index 00000000..f41a9c96 --- /dev/null +++ b/app/src/main/java/com/beemdevelopment/aegis/helpers/SimpleAnimationEndListener.java @@ -0,0 +1,32 @@ +package com.beemdevelopment.aegis.helpers; + +import android.view.animation.Animation; + +public class SimpleAnimationEndListener implements Animation.AnimationListener { + private final Listener _listener; + + public SimpleAnimationEndListener(Listener listener) { + _listener = listener; + } + + @Override + public void onAnimationStart(Animation animation) { + + } + + @Override + public void onAnimationEnd(Animation animation) { + if (_listener != null) { + _listener.onAnimationEnd(animation); + } + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + + public interface Listener { + void onAnimationEnd(Animation animation); + } +} diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/EditEntryActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/EditEntryActivity.java index d6584826..bcc5de88 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/EditEntryActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/EditEntryActivity.java @@ -37,6 +37,7 @@ import com.beemdevelopment.aegis.helpers.DropdownHelper; import com.beemdevelopment.aegis.helpers.EditTextHelper; import com.beemdevelopment.aegis.helpers.IconViewHelper; import com.beemdevelopment.aegis.helpers.SafHelper; +import com.beemdevelopment.aegis.helpers.SimpleAnimationEndListener; import com.beemdevelopment.aegis.helpers.SimpleTextWatcher; import com.beemdevelopment.aegis.helpers.TextDrawableHelper; import com.beemdevelopment.aegis.icons.IconPack; @@ -380,40 +381,14 @@ public class EditEntryActivity extends AegisActivity { fadeIn.setInterpolator(new AccelerateInterpolator()); fadeIn.setDuration(250); - fadeOut.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { + fadeOut.setAnimationListener(new SimpleAnimationEndListener((a) -> { + _advancedSettingsHeader.setVisibility(View.GONE); + _advancedSettings.startAnimation(fadeIn); + })); - } - - @Override - public void onAnimationEnd(Animation animation) { - _advancedSettingsHeader.setVisibility(View.GONE); - _advancedSettings.startAnimation(fadeIn); - } - - @Override - public void onAnimationRepeat(Animation animation) { - - } - }); - - fadeIn.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { - - } - - @Override - public void onAnimationEnd(Animation animation) { - _advancedSettings.setVisibility(View.VISIBLE); - } - - @Override - public void onAnimationRepeat(Animation animation) { - - } - }); + fadeIn.setAnimationListener(new SimpleAnimationEndListener((a) -> { + _advancedSettings.setVisibility(View.VISIBLE); + })); } private void updateGroupDropdownList() {