From 27a2ce2e425f0a291344bd1d41fbbaf8afa14f0e Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Tue, 2 Jun 2015 13:44:46 -0700 Subject: [PATCH] Continuous brightness slider Changes the brightness slider to have no visible steps when in auto brightness mode. Also changes mirror logic to dispatching touches instead of forwarding values. Bug: 19516826 Change-Id: Ib0233c2dcc6807da96a71d1f5619a117ca2a73bd --- .../settings/BrightnessController.java | 2 +- .../systemui/settings/ToggleSlider.java | 23 +++++++++---------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java index 9fbcd7f1b3a77..d6a16fa2893c6 100644 --- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java +++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java @@ -40,7 +40,7 @@ public class BrightnessController implements ToggleSlider.Listener { * {@link android.provider.Settings.System#SCREEN_AUTO_BRIGHTNESS_ADJ} uses the range [-1, 1]. * Using this factor, it is converted to [0, BRIGHTNESS_ADJ_RESOLUTION] for the SeekBar. */ - private static final float BRIGHTNESS_ADJ_RESOLUTION = 100; + private static final float BRIGHTNESS_ADJ_RESOLUTION = 2048; private final int mMinimumBacklight; private final int mMaximumBacklight; diff --git a/packages/SystemUI/src/com/android/systemui/settings/ToggleSlider.java b/packages/SystemUI/src/com/android/systemui/settings/ToggleSlider.java index 35b574b8f36b4..8abfe033571ad 100644 --- a/packages/SystemUI/src/com/android/systemui/settings/ToggleSlider.java +++ b/packages/SystemUI/src/com/android/systemui/settings/ToggleSlider.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.util.AttributeSet; +import android.view.MotionEvent; import android.view.View; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; @@ -123,6 +124,16 @@ public class ToggleSlider extends RelativeLayout { } } + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (mMirror != null) { + MotionEvent copy = ev.copy(); + mMirror.dispatchTouchEvent(copy); + copy.recycle(); + } + return super.dispatchTouchEvent(ev); + } + private final OnCheckedChangeListener mCheckListener = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton toggle, boolean checked) { @@ -146,10 +157,6 @@ public class ToggleSlider extends RelativeLayout { mListener.onChanged( ToggleSlider.this, mTracking, mToggle.isChecked(), progress); } - - if (mMirror != null) { - mMirror.setValue(progress); - } } @Override @@ -163,10 +170,6 @@ public class ToggleSlider extends RelativeLayout { mToggle.setChecked(false); - if (mMirror != null) { - mMirror.mSlider.setPressed(true); - } - if (mMirrorController != null) { mMirrorController.showMirror(); mMirrorController.setLocation((View) getParent()); @@ -182,10 +185,6 @@ public class ToggleSlider extends RelativeLayout { ToggleSlider.this, mTracking, mToggle.isChecked(), mSlider.getProgress()); } - if (mMirror != null) { - mMirror.mSlider.setPressed(false); - } - if (mMirrorController != null) { mMirrorController.hideMirror(); }