Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e7277e2 authored by Joe Onorato's avatar Joe Onorato
Browse files

AnimatedImageView: Stop the animation when we're not visible.

Change-Id: I5dedc4048806f1ea44ef4777ccf578a29e79869b
parent f01a8730
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Slog;
import android.view.View;
import android.widget.ImageView;
import android.widget.RemoteViews.RemoteView;

@@ -43,7 +45,7 @@ public class AnimatedImageView extends ImageView {
        }
        if (drawable instanceof AnimationDrawable) {
            mAnim = (AnimationDrawable)drawable;
            if (mAttached) {
            if (isShown()) {
                mAnim.start();
            }
        } else {
@@ -67,9 +69,6 @@ public class AnimatedImageView extends ImageView {
    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        if (mAnim != null) {
            mAnim.start();
        }
        mAttached = true;
    }

@@ -81,5 +80,17 @@ public class AnimatedImageView extends ImageView {
        }
        mAttached = false;
    }

    @Override
    protected void onVisibilityChanged(View changedView, int vis) {
        super.onVisibilityChanged(changedView, vis);
        if (mAnim != null) {
            if (isShown()) {
                mAnim.start();
            } else {
                mAnim.stop();
            }
        }
    }
}