summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
index 900f87d..35cd929 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java
@@ -34,6 +34,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.android.systemui.R;
import com.android.systemui.cm.UserContentObserver;
+import com.android.systemui.settings.ToggleSlider;
+
import cyanogenmod.providers.CMSettings;
public class QSPanelTopView extends FrameLayout {
@@ -317,12 +319,22 @@ public class QSPanelTopView extends FrameLayout {
boolean showSlider = CMSettings.System.getIntForUser(resolver,
CMSettings.System.QS_SHOW_BRIGHTNESS_SLIDER, 1, currentUserId) == 1;
if (showSlider != mHasBrightnessSliderToDisplay) {
+ if (mAnimator != null) {
+ mAnimator.cancel(); // cancel everything we're animating
+ mAnimator = null;
+ }
mHasBrightnessSliderToDisplay = showSlider;
- if (mAnimator == null && mBrightnessView != null) {
- // no animations, set the visibility manually
+ if (mBrightnessView != null) {
mBrightnessView.setVisibility(showSlider ? View.VISIBLE : View.GONE);
+
+ // as per showBrightnessSlider() in QSPanel.java, we look it up on-the-go
+ ToggleSlider brightnessSlider = (ToggleSlider) findViewById(R.id.brightness_slider);
+ if (brightnessSlider != null) {
+ brightnessSlider.setVisibility(showSlider ? View.VISIBLE : View.GONE);
+ }
+
}
- requestLayout();
+ getParent().requestLayout();
animateToState();
}
}