Loading services/java/com/android/server/PowerManagerService.java +25 −18 Original line number Diff line number Diff line Loading @@ -211,7 +211,8 @@ class PowerManagerService extends IPowerManager.Stub private long mScreenOnStartTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private boolean mHasHardwareAutoBrightness; private boolean mUseSoftwareAutoBrightness; private boolean mUseHardwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; private int[] mLcdBacklightValues; Loading Loading @@ -438,9 +439,16 @@ class PowerManagerService extends IPowerManager.Stub mScreenOffIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); Resources resources = mContext.getResources(); mHasHardwareAutoBrightness = resources.getBoolean( // read settings for auto-brightness mUseSoftwareAutoBrightness = resources.getBoolean( com.android.internal.R.bool.config_automatic_brightness_available); mUseHardwareAutoBrightness = resources.getBoolean( com.android.internal.R.bool.config_hardware_automatic_brightness_available); if (!mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { mUseSoftwareAutoBrightness = false; } if (mUseSoftwareAutoBrightness) { mAutoBrightnessLevels = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); mLcdBacklightValues = resources.getIntArray( Loading Loading @@ -479,7 +487,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { Loading Loading @@ -581,7 +589,7 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mAutoBrightessEnabled && mUseSoftwareAutoBrightness) { wl.minState = SCREEN_BRIGHT; } else { wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); Loading Loading @@ -887,7 +895,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mHasHardwareAutoBrightness=" + mHasHardwareAutoBrightness); pw.println(" mUseHardwareAutoBrightness=" + mUseHardwareAutoBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); mKeyboardBrightness.dump(pw, " mKeyboardBrightness: "); Loading Loading @@ -1290,7 +1299,7 @@ class PowerManagerService extends IPowerManager.Stub private int setScreenStateLocked(boolean on) { int err = Power.setScreenState(on); if (err == 0 && !mHasHardwareAutoBrightness) { if (err == 0 && mUseSoftwareAutoBrightness) { enableLightSensor(on && mAutoBrightessEnabled); if (!on) { // make sure button and key backlights are off too Loading Loading @@ -1337,7 +1346,7 @@ class PowerManagerService extends IPowerManager.Stub return; } if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (!mDoneBooting && !(mAutoBrightessEnabled && mUseSoftwareAutoBrightness)) { newState |= ALL_BRIGHT; } Loading Loading @@ -1758,7 +1767,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), Loading Loading @@ -1850,7 +1859,7 @@ class PowerManagerService extends IPowerManager.Stub // Only turn on button backlights if a button was pressed // and auto brightness is disabled if (eventType == BUTTON_EVENT && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { !(mAutoBrightessEnabled && mUseSoftwareAutoBrightness)) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. Loading Loading @@ -1908,8 +1917,6 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } if (mHasHardwareAutoBrightness) return; if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { Loading Loading @@ -2057,17 +2064,17 @@ class PowerManagerService extends IPowerManager.Stub boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); if (mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; if (mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { // When setting auto-brightness, must reset the brightness afterwards mHardware.setAutoBrightness_UNCHECKED(enabled); if (screenIsOn()) { setBacklightBrightness((int)mScreenBrightness.curValue); } } else { } else if (mUseSoftwareAutoBrightness) { // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; enableLightSensor(screenIsOn() && enabled); } } Loading Loading @@ -2222,7 +2229,7 @@ class PowerManagerService extends IPowerManager.Stub mSensorManager = new SensorManager(mHandlerThread.getLooper()); mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); // don't bother with the light sensor if auto brightness is handled in hardware if (!mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); enableLightSensor(mAutoBrightessEnabled); } Loading Loading
services/java/com/android/server/PowerManagerService.java +25 −18 Original line number Diff line number Diff line Loading @@ -211,7 +211,8 @@ class PowerManagerService extends IPowerManager.Stub private long mScreenOnStartTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private boolean mHasHardwareAutoBrightness; private boolean mUseSoftwareAutoBrightness; private boolean mUseHardwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; private int[] mLcdBacklightValues; Loading Loading @@ -438,9 +439,16 @@ class PowerManagerService extends IPowerManager.Stub mScreenOffIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); Resources resources = mContext.getResources(); mHasHardwareAutoBrightness = resources.getBoolean( // read settings for auto-brightness mUseSoftwareAutoBrightness = resources.getBoolean( com.android.internal.R.bool.config_automatic_brightness_available); mUseHardwareAutoBrightness = resources.getBoolean( com.android.internal.R.bool.config_hardware_automatic_brightness_available); if (!mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { mUseSoftwareAutoBrightness = false; } if (mUseSoftwareAutoBrightness) { mAutoBrightnessLevels = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); mLcdBacklightValues = resources.getIntArray( Loading Loading @@ -479,7 +487,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { Loading Loading @@ -581,7 +589,7 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mAutoBrightessEnabled && mUseSoftwareAutoBrightness) { wl.minState = SCREEN_BRIGHT; } else { wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); Loading Loading @@ -887,7 +895,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mHasHardwareAutoBrightness=" + mHasHardwareAutoBrightness); pw.println(" mUseHardwareAutoBrightness=" + mUseHardwareAutoBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); mKeyboardBrightness.dump(pw, " mKeyboardBrightness: "); Loading Loading @@ -1290,7 +1299,7 @@ class PowerManagerService extends IPowerManager.Stub private int setScreenStateLocked(boolean on) { int err = Power.setScreenState(on); if (err == 0 && !mHasHardwareAutoBrightness) { if (err == 0 && mUseSoftwareAutoBrightness) { enableLightSensor(on && mAutoBrightessEnabled); if (!on) { // make sure button and key backlights are off too Loading Loading @@ -1337,7 +1346,7 @@ class PowerManagerService extends IPowerManager.Stub return; } if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (!mDoneBooting && !(mAutoBrightessEnabled && mUseSoftwareAutoBrightness)) { newState |= ALL_BRIGHT; } Loading Loading @@ -1758,7 +1767,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), Loading Loading @@ -1850,7 +1859,7 @@ class PowerManagerService extends IPowerManager.Stub // Only turn on button backlights if a button was pressed // and auto brightness is disabled if (eventType == BUTTON_EVENT && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { !(mAutoBrightessEnabled && mUseSoftwareAutoBrightness)) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. Loading Loading @@ -1908,8 +1917,6 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } if (mHasHardwareAutoBrightness) return; if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { Loading Loading @@ -2057,17 +2064,17 @@ class PowerManagerService extends IPowerManager.Stub boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); if (mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; if (mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { // When setting auto-brightness, must reset the brightness afterwards mHardware.setAutoBrightness_UNCHECKED(enabled); if (screenIsOn()) { setBacklightBrightness((int)mScreenBrightness.curValue); } } else { } else if (mUseSoftwareAutoBrightness) { // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; enableLightSensor(screenIsOn() && enabled); } } Loading Loading @@ -2222,7 +2229,7 @@ class PowerManagerService extends IPowerManager.Stub mSensorManager = new SensorManager(mHandlerThread.getLooper()); mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); // don't bother with the light sensor if auto brightness is handled in hardware if (!mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); enableLightSensor(mAutoBrightessEnabled); } Loading