summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorJoe Onorato <joeo@android.com>2010-09-29 14:25:15 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-09-29 14:25:15 -0700
commit2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5 (patch)
treeea6482d64fd905594f345024c099707efb46d7db /packages
parent87fbcc2b73b9b92d50c4520053bfc7bdff4cd91b (diff)
parent1e7277e20465be39e30d7e84192c40c4c7b55f89 (diff)
downloadframeworks_base-2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5.zip
frameworks_base-2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5.tar.gz
frameworks_base-2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5.tar.bz2
Merge "AnimatedImageView: Stop the animation when we're not visible." into gingerbread
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/AnimatedImageView.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AnimatedImageView.java b/packages/SystemUI/src/com/android/systemui/statusbar/AnimatedImageView.java
index 70d4d6a..d4491d8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/AnimatedImageView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AnimatedImageView.java
@@ -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();
+ }
+ }
+ }
}