Use new power manager API.
Change-Id: If0c58a9bee05ec0de434879e78cd95299e54e3fe
This commit is contained in:
@@ -24,6 +24,7 @@ import android.os.Handler;
|
||||
import android.os.IPowerManager;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.os.PowerManager;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.preference.SeekBarDialogPreference;
|
||||
@@ -37,6 +38,8 @@ import android.widget.SeekBar;
|
||||
|
||||
public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
SeekBar.OnSeekBarChangeListener, CheckBox.OnCheckedChangeListener {
|
||||
private final int mScreenBrightnessMinimum;
|
||||
private final int mScreenBrightnessMaximum;
|
||||
|
||||
private SeekBar mSeekBar;
|
||||
private CheckBox mCheckBox;
|
||||
@@ -51,12 +54,6 @@ public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
|
||||
private boolean mRestoredOldState;
|
||||
|
||||
// Backlight range is from 0 - 255. Need to make sure that user
|
||||
// doesn't set the backlight to 0 and get stuck
|
||||
private int mScreenBrightnessDim =
|
||||
getContext().getResources().getInteger(com.android.internal.R.integer.config_screenBrightnessDim);
|
||||
private static final int MAXIMUM_BACKLIGHT = android.os.PowerManager.BRIGHTNESS_ON;
|
||||
|
||||
private static final int SEEK_BAR_RANGE = 10000;
|
||||
|
||||
private ContentObserver mBrightnessObserver = new ContentObserver(new Handler()) {
|
||||
@@ -77,6 +74,10 @@ public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
public BrightnessPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
|
||||
mScreenBrightnessMinimum = pm.getMinimumScreenBrightnessSetting();
|
||||
mScreenBrightnessMaximum = pm.getMaximumScreenBrightnessSetting();
|
||||
|
||||
mAutomaticAvailable = context.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
|
||||
@@ -155,8 +156,8 @@ public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
} else {
|
||||
brightness = mCurBrightness;
|
||||
}
|
||||
brightness = (brightness - mScreenBrightnessDim)
|
||||
/ (MAXIMUM_BACKLIGHT - mScreenBrightnessDim);
|
||||
brightness = (brightness - mScreenBrightnessMinimum)
|
||||
/ (mScreenBrightnessMaximum - mScreenBrightnessMinimum);
|
||||
}
|
||||
return (int)(brightness*SEEK_BAR_RANGE);
|
||||
}
|
||||
@@ -218,7 +219,7 @@ public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
IPowerManager power = IPowerManager.Stub.asInterface(
|
||||
ServiceManager.getService("power"));
|
||||
if (power != null) {
|
||||
power.setAutoBrightnessAdjustment(valf);
|
||||
power.setTemporaryScreenAutoBrightnessAdjustmentSettingOverride(valf);
|
||||
}
|
||||
if (write) {
|
||||
final ContentResolver resolver = getContext().getContentResolver();
|
||||
@@ -229,13 +230,13 @@ public class BrightnessPreference extends SeekBarDialogPreference implements
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int range = (MAXIMUM_BACKLIGHT - mScreenBrightnessDim);
|
||||
brightness = (brightness*range)/SEEK_BAR_RANGE + mScreenBrightnessDim;
|
||||
int range = (mScreenBrightnessMaximum - mScreenBrightnessMinimum);
|
||||
brightness = (brightness * range)/SEEK_BAR_RANGE + mScreenBrightnessMinimum;
|
||||
try {
|
||||
IPowerManager power = IPowerManager.Stub.asInterface(
|
||||
ServiceManager.getService("power"));
|
||||
if (power != null) {
|
||||
power.setBacklightBrightness(brightness);
|
||||
power.setTemporaryScreenBrightnessSettingOverride(brightness);
|
||||
}
|
||||
if (write) {
|
||||
mCurBrightness = -1;
|
||||
|
Reference in New Issue
Block a user