diff options
author | Roman Birg <roman@cyngn.com> | 2016-04-04 15:29:34 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-04-05 08:54:20 -0700 |
commit | 779a3ebd6ee5826ba1f4bb5c303369ba49d512a6 (patch) | |
tree | 228475be69b2cadb3b99b01573c44f5639e4bfb2 /packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java | |
parent | edf0185326ff7eb14979f4f1f87a68c22a507b5b (diff) | |
download | frameworks_base-779a3ebd6ee5826ba1f4bb5c303369ba49d512a6.zip frameworks_base-779a3ebd6ee5826ba1f4bb5c303369ba49d512a6.tar.gz frameworks_base-779a3ebd6ee5826ba1f4bb5c303369ba49d512a6.tar.bz2 |
SystemUI: show visualizer in shade-locked view
This brings back the behavior we had in 12.1 - visualizer would still be
visible in the shade locked state.
Also with the following improvements:
* use less alpha
* always attach/detach in a background thread (Async task)
* use the statusbar state instead keyguard view state listener
Change-Id: I6b8a57f9f0bba6ba0591de0cb1f94a0eb904cc1c
Signed-off-by: Roman Birg <roman@cyngn.com>
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/VisualizerView.java | 58 |
1 files changed, 26 insertions, 32 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..02ab3ca 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,9 +190,6 @@ 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; @@ -223,7 +221,7 @@ public class VisualizerView extends View implements Palette.PaletteAsyncListener @Override public boolean hasOverlappingRendering() { - return mVisualizerEnabled && mDisplaying; + return false; } @Override @@ -235,16 +233,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 +283,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 +360,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); } } |