Keep QS brightness slider icon in sync.
It now reflects auto-on or auto-off as it changes. Bug:7303599 Change-Id: I1b1bd6a0545950795f83449c3778e91afa9d04a5
This commit is contained in:
@@ -754,6 +754,7 @@ class QuickSettings {
|
||||
mBrightnessDialog.setCanceledOnTouchOutside(true);
|
||||
|
||||
mBrightnessController = new BrightnessController(mContext,
|
||||
(ImageView) mBrightnessDialog.findViewById(R.id.brightness_icon),
|
||||
(ToggleSlider) mBrightnessDialog.findViewById(R.id.brightness_slider));
|
||||
mBrightnessController.addStateChangedCallback(mModel);
|
||||
mBrightnessDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
|
||||
@@ -28,6 +28,7 @@ import android.provider.Settings.SettingNotFoundException;
|
||||
import android.util.Slog;
|
||||
import android.view.IWindowManager;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
|
||||
|
||||
@@ -40,6 +41,7 @@ public class BrightnessController implements ToggleSlider.Listener {
|
||||
private final int mMaximumBacklight;
|
||||
|
||||
private final Context mContext;
|
||||
private final ImageView mIcon;
|
||||
private final ToggleSlider mControl;
|
||||
private final boolean mAutomaticAvailable;
|
||||
private final IPowerManager mPower;
|
||||
@@ -52,8 +54,9 @@ public class BrightnessController implements ToggleSlider.Listener {
|
||||
public void onBrightnessLevelChanged();
|
||||
}
|
||||
|
||||
public BrightnessController(Context context, ToggleSlider control) {
|
||||
public BrightnessController(Context context, ImageView icon, ToggleSlider control) {
|
||||
mContext = context;
|
||||
mIcon = icon;
|
||||
mControl = control;
|
||||
mUserTracker = new CurrentUserTracker(mContext);
|
||||
|
||||
@@ -84,8 +87,10 @@ public class BrightnessController implements ToggleSlider.Listener {
|
||||
automatic = 0;
|
||||
}
|
||||
control.setChecked(automatic != 0);
|
||||
updateIcon(automatic != 0);
|
||||
} else {
|
||||
control.setChecked(false);
|
||||
updateIcon(false /*automatic*/);
|
||||
//control.hideToggle();
|
||||
}
|
||||
|
||||
@@ -105,6 +110,7 @@ public class BrightnessController implements ToggleSlider.Listener {
|
||||
public void onChanged(ToggleSlider view, boolean tracking, boolean automatic, int value) {
|
||||
setMode(automatic ? Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
|
||||
: Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
|
||||
updateIcon(automatic);
|
||||
if (!automatic) {
|
||||
final int val = value + mMinimumBacklight;
|
||||
setBrightness(val);
|
||||
@@ -136,4 +142,12 @@ public class BrightnessController implements ToggleSlider.Listener {
|
||||
} catch (RemoteException ex) {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateIcon(boolean automatic) {
|
||||
if (mIcon != null) {
|
||||
mIcon.setImageResource(automatic ?
|
||||
com.android.systemui.R.drawable.ic_qs_brightness_auto_on :
|
||||
com.android.systemui.R.drawable.ic_qs_brightness_auto_off);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ public class SettingsView extends LinearLayout implements View.OnClickListener {
|
||||
});
|
||||
|
||||
mBrightness = new BrightnessController(context,
|
||||
(ImageView)findViewById(R.id.brightness_icon),
|
||||
(ToggleSlider)findViewById(R.id.brightness));
|
||||
mDoNotDisturb = new DoNotDisturbController(context,
|
||||
(CompoundButton)findViewById(R.id.do_not_disturb_checkbox));
|
||||
|
||||
Reference in New Issue
Block a user