diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java | 66 |
1 files changed, 26 insertions, 40 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java index 40e4330..538140c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java @@ -32,11 +32,9 @@ import android.util.Log; import android.view.View; import com.android.systemui.cm.UserContentObserver; -import com.android.systemui.statusbar.policy.KeyguardMonitor; import cyanogenmod.providers.CMSettings; -public class VisualizerView extends View implements Palette.PaletteAsyncListener, - KeyguardMonitor.Callback { +public class VisualizerView extends View implements Palette.PaletteAsyncListener { private static final String TAG = VisualizerView.class.getSimpleName(); private static final boolean DEBUG = false; @@ -48,6 +46,7 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener private ValueAnimator[] mValueAnimators; private float[] mFFTPoints; + private int mStatusBarState; private boolean mVisualizerEnabled = false; private boolean mVisible = false; private boolean mPlaying = false; @@ -59,7 +58,6 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener private int mColor; private Bitmap mCurrentBitmap; - private KeyguardMonitor mKeyguardMonitor; private SettingsObserver mObserver; private Visualizer.OnDataCaptureListener mVisualizerListener = @@ -114,6 +112,13 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener } }; + private final Runnable mAsyncUnlinkVisualizer = new Runnable() { + @Override + public void run() { + AsyncTask.execute(mUnlinkVisualizer); + } + }; + private final Runnable mUnlinkVisualizer = new Runnable() { @Override public void run() { @@ -164,23 +169,19 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener this(context, null, 0); } - @Override - public void onKeyguardChanged() { - updateViewVisibility(); - } - private void updateViewVisibility() { - setVisibility(mKeyguardMonitor != null && mKeyguardMonitor.isShowing() - && mVisualizerEnabled ? View.VISIBLE : View.GONE); - checkStateChanged(); + final int curVis = getVisibility(); + final int newVis = mStatusBarState != StatusBarState.SHADE + && mVisualizerEnabled ? View.VISIBLE : View.GONE; + if (curVis != newVis) { + setVisibility(newVis); + checkStateChanged(); + } } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); - if (mKeyguardMonitor != null) { - mKeyguardMonitor.addCallback(this); - } mObserver = new SettingsObserver(new Handler()); mObserver.observe(); mObserver.update(); @@ -189,23 +190,12 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); - if (mKeyguardMonitor != null) { - mKeyguardMonitor.removeCallback(this); - } mObserver.unobserve(); mObserver = null; mCurrentBitmap = null; } @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - - final int size = Math.min(getMeasuredWidth(), getMeasuredHeight()); - setMeasuredDimension(size, size); - } - - @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); @@ -223,7 +213,7 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener @Override public boolean hasOverlappingRendering() { - return mVisualizerEnabled && mDisplaying; + return false; } @Override @@ -235,16 +225,6 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener } } - public void setKeyguardMonitor(KeyguardMonitor kgm) { - mKeyguardMonitor = kgm; - if (isAttachedToWindow()) { - // otherwise we might never register ourselves - mKeyguardMonitor.removeCallback(this); - mKeyguardMonitor.addCallback(this); - updateViewVisibility(); - } - } - public void setVisible(boolean visible) { if (mVisible != visible) { if (DEBUG) { @@ -295,6 +275,13 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener } } + public void setStatusBarState(int statusBarState) { + if (mStatusBarState != statusBarState) { + mStatusBarState = statusBarState; + updateViewVisibility(); + } + } + public void setBitmap(Bitmap bitmap) { if (mCurrentBitmap == bitmap) { return; @@ -365,13 +352,12 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener if (mVisible) { animate() .alpha(0f) - .withEndAction(mUnlinkVisualizer) + .withEndAction(mAsyncUnlinkVisualizer) .setDuration(600); } else { - AsyncTask.execute(mUnlinkVisualizer); animate(). alpha(0f) - .withEndAction(null) + .withEndAction(mAsyncUnlinkVisualizer) .setDuration(0); } } |