summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2022-12-28 16:12:50 +0100
committercyBerta <cyberta@riseup.net>2022-12-28 16:12:50 +0100
commite462d19473e41aa5f9c155dcec1c4daa9ecdbfa8 (patch)
treed3fe1ef2864ebc69fd8a53e7babea9ef76754d41
parent9d64ea1f6274ca66c4e44f7bd24698a1f64c3ffe (diff)
fix crash when trying to animate a drawable after Fragment is not in resumed state anymore
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java9
1 files changed, 9 insertions, 0 deletions
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;