Remove PowerManager.setAutoBrightness()

We will use the System.SCREEN_BRIGHTNESS_MODE Settings value instead.
Add SCREEN_BRIGHTNESS_MODE_MANUAL and SCREEN_BRIGHTNESS_MODE_AUTOMATIC constants.

Change-Id: I01935be3fcb48cf76392d2c594205cb47babc5b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2009-10-14 21:17:09 -07:00
parent 37a13208c9
commit dc3494e3d8
4 changed files with 37 additions and 40 deletions

View File

@ -34,7 +34,4 @@ interface IPowerManager
// sets the brightness of the backlights (screen, keyboard, button) 0-255
void setBacklightBrightness(int brightness);
// enables or disables automatic brightness mode
void setAutoBrightness(boolean on);
}

View File

@ -1080,6 +1080,18 @@ public final class Settings {
*/
public static final String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode";
/**
* SCREEN_BRIGHTNESS_MODE value for manual mode.
* @hide
*/
public static final int SCREEN_BRIGHTNESS_MODE_MANUAL = 0;
/**
* SCREEN_BRIGHTNESS_MODE value for manual mode.
* @hide
*/
public static final int SCREEN_BRIGHTNESS_MODE_AUTOMATIC = 1;
/**
* Control whether the process CPU usage meter should be shown.
*/

View File

@ -45,7 +45,6 @@ public class SettingsHelper {
private boolean mSilent;
private boolean mVibrate;
private boolean mHasAutoBrightness;
public SettingsHelper(Context context) {
mContext = context;
@ -54,9 +53,6 @@ public class SettingsHelper {
mContentService = ContentResolver.getContentService();
mPowerManager = IPowerManager.Stub.asInterface(
ServiceManager.getService("power"));
mHasAutoBrightness = context.getResources().getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available);
}
/**
@ -71,18 +67,6 @@ public class SettingsHelper {
public boolean restoreValue(String name, String value) {
if (Settings.System.SCREEN_BRIGHTNESS.equals(name)) {
setBrightness(Integer.parseInt(value));
} else if (Settings.System.SCREEN_BRIGHTNESS_MODE.equals(name)) {
if (mHasAutoBrightness) {
// When setting auto-brightness, must reset the brightness afterwards
try {
int curBrightness = Settings.System.getInt(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS);
setAutoBrightness(Integer.parseInt(value) != 0);
setBrightness(curBrightness);
} catch (Settings.SettingNotFoundException e) {
// no brightness setting at all? weird. skip this then.
}
}
} else if (Settings.System.SOUND_EFFECTS_ENABLED.equals(name)) {
setSoundEffects(Integer.parseInt(value) == 1);
} else if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) {
@ -92,16 +76,6 @@ public class SettingsHelper {
return true;
}
private void setAutoBrightness(boolean value) {
if (mPowerManager != null) {
try {
mPowerManager.setAutoBrightness(value);
} catch (RemoteException e) {
// unable to reach the power manager; skip
}
}
}
private void setGpsLocation(String value) {
final String GPS = LocationManager.GPS_PROVIDER;
boolean enabled =

View File

@ -53,6 +53,7 @@ import android.view.WindowManagerPolicy;
import static android.provider.Settings.System.DIM_SCREEN;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import static android.provider.Settings.System.STAY_ON_WHILE_PLUGGED_IN;
@ -199,6 +200,8 @@ class PowerManagerService extends IPowerManager.Stub
private long mScreenOnStartTime;
private boolean mPreventScreenOn;
private int mScreenBrightnessOverride = -1;
private boolean mHasHardwareAutoBrightness;
private boolean mAutoBrightessEnabled;
// Used when logging number and duration of touch-down cycles
private long mTotalTouchDownTime;
@ -344,6 +347,9 @@ class PowerManagerService extends IPowerManager.Stub
// DIM_SCREEN
//mDimScreen = getInt(DIM_SCREEN) != 0;
// SCREEN_BRIGHTNESS_MODE
setScreenBrightnessMode(getInt(SCREEN_BRIGHTNESS_MODE));
// recalculate everything
setScreenOffTimeoutsLocked();
}
@ -415,12 +421,17 @@ class PowerManagerService extends IPowerManager.Stub
mScreenOffIntent = new Intent(Intent.ACTION_SCREEN_OFF);
mScreenOffIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
ContentResolver resolver = mContext.getContentResolver();
mHasHardwareAutoBrightness = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_hardware_automatic_brightness_available);
ContentResolver resolver = mContext.getContentResolver();
Cursor settingsCursor = resolver.query(Settings.System.CONTENT_URI, null,
"(" + Settings.System.NAME + "=?) or ("
+ Settings.System.NAME + "=?) or ("
+ Settings.System.NAME + "=?) or ("
+ Settings.System.NAME + "=?)",
new String[]{STAY_ON_WHILE_PLUGGED_IN, SCREEN_OFF_TIMEOUT, DIM_SCREEN},
new String[]{STAY_ON_WHILE_PLUGGED_IN, SCREEN_OFF_TIMEOUT, DIM_SCREEN,
SCREEN_BRIGHTNESS_MODE},
null);
mSettings = new ContentQueryMap(settingsCursor, Settings.System.NAME, true, mHandler);
SettingsObserver settingsObserver = new SettingsObserver();
@ -444,10 +455,6 @@ class PowerManagerService extends IPowerManager.Stub
// turn everything on
setPowerState(ALL_BRIGHT);
// set auto brightness mode to user setting
boolean brightnessMode = Settings.System.getInt(resolver, SCREEN_BRIGHTNESS_MODE, 1) != 0;
mHardware.setAutoBrightness_UNCHECKED(brightnessMode);
synchronized (mHandlerThread) {
mInitComplete = true;
mHandlerThread.notifyAll();
@ -1885,6 +1892,18 @@ class PowerManagerService extends IPowerManager.Stub
}
}
private void setScreenBrightnessMode(int mode) {
mAutoBrightessEnabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
if (mHasHardwareAutoBrightness) {
// When setting auto-brightness, must reset the brightness afterwards
mHardware.setAutoBrightness_UNCHECKED(mAutoBrightessEnabled);
setBacklightBrightness((int)mScreenBrightness.curValue);
} else {
// not yet implemented
}
}
/** Sets the screen off timeouts:
* mKeylightDelay
* mDimDelay
@ -2098,11 +2117,6 @@ class PowerManagerService extends IPowerManager.Stub
}
}
public void setAutoBrightness(boolean on) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
mHardware.setAutoBrightness_UNCHECKED(on);
}
private SensorManager getSensorManager() {
if (mSensorManager == null) {
mSensorManager = new SensorManager(mHandlerThread.getLooper());