am 2a0b3c0d: Merge "AnimatedImageView: Stop the animation when we\'re not visible." into gingerbread

Merge commit '2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5' into gingerbread-plus-aosp

* commit '2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5':
  AnimatedImageView: Stop the animation when we're not visible.
This commit is contained in:
Joe Onorato
2010-09-29 14:28:03 -07:00
committed by Android Git Automerger

View File

@@ -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();
}
}
}
}