From e462d19473e41aa5f9c155dcec1c4daa9ecdbfa8 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Wed, 28 Dec 2022 16:12:50 +0100 Subject: fix crash when trying to animate a drawable after Fragment is not in resumed state anymore --- .../java/se/leap/bitmaskclient/base/fragments/EipFragment.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'app') diff --git a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java index 409efcf0..a2fb2683 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java @@ -227,6 +227,12 @@ public class EipFragment extends Fragment implements Observer { public void onPause() { super.onPause(); Log.d(TAG, "onPause"); + if (stateView.getDrawable() instanceof Animatable) { + Animatable animatedDrawable = (Animatable) stateView.getDrawable(); + if (animatedDrawable.isRunning()) { + animatedDrawable.stop(); + } + } } @Override @@ -575,6 +581,9 @@ public class EipFragment extends Fragment implements Observer { @Override public void onAnimationEnd(Drawable drawable) { super.onAnimationEnd(drawable); + if (!isResumed()) { + return; + } if (pendingAnimationState != 0) { int newAnimationRes = pendingAnimationState; pendingAnimationState = 0; -- cgit v1.2.3