Loading services/java/com/android/server/PowerManagerService.java +19 −8 Original line number Diff line number Diff line Loading @@ -244,6 +244,7 @@ public class PowerManagerService extends IPowerManager.Stub private Handler mHandler; private final TimeoutTask mTimeoutTask = new TimeoutTask(); private ScreenBrightnessAnimator mScreenBrightnessAnimator; private boolean mWaitingForFirstLightSensor = false; private boolean mStillNeedSleepNotification; private boolean mIsPowered = false; private IActivityManager mActivityService; Loading Loading @@ -1755,7 +1756,11 @@ public class PowerManagerService extends IPowerManager.Stub mLastScreenOnTime = (on ? SystemClock.elapsedRealtime() : 0); if (mUseSoftwareAutoBrightness) { enableLightSensorLocked(on); if (!on) { if (on) { // If AutoBrightness is enabled, set the brightness immediately after the // next sensor value is received. mWaitingForFirstLightSensor = mAutoBrightessEnabled; } else { // make sure button and key backlights are off too mButtonLight.turnOff(); mKeyboardLight.turnOff(); Loading Loading @@ -2636,7 +2641,7 @@ public class PowerManagerService extends IPowerManager.Stub private void lightSensorChangedLocked(int value, boolean immediate) { if (mDebugLightSensor) { Slog.d(TAG, "lightSensorChangedLocked " + value); Slog.d(TAG, "lightSensorChangedLocked value=" + value + " immediate=" + immediate); } // Don't do anything if the screen is off. Loading Loading @@ -3212,7 +3217,9 @@ public class PowerManagerService extends IPowerManager.Stub private void enableLightSensorLocked(boolean enable) { if (mDebugLightSensor) { Slog.d(TAG, "enableLightSensorLocked enable=" + enable + " mAutoBrightessEnabled=" + mAutoBrightessEnabled); + " mLightSensorEnabled=" + mLightSensorEnabled + " mAutoBrightessEnabled=" + mAutoBrightessEnabled + " mWaitingForFirstLightSensor=" + mWaitingForFirstLightSensor); } if (!mAutoBrightessEnabled) { enable = false; Loading @@ -3226,8 +3233,8 @@ public class PowerManagerService extends IPowerManager.Stub // reset our highest value when reenabling mHighestLightSensorValue = -1; // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; final int value = (int)mLightSensorValue; if (value >= 0) { mLightSensorValue = -1; handleLightSensorValue(value, true); } Loading Loading @@ -3291,8 +3298,9 @@ public class PowerManagerService extends IPowerManager.Stub private void handleLightSensorValue(int value, boolean immediate) { long milliseconds = SystemClock.elapsedRealtime(); if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime) { if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime || mWaitingForFirstLightSensor) { // process the value immediately if screen has just turned on mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; Loading Loading @@ -3327,7 +3335,10 @@ public class PowerManagerService extends IPowerManager.Stub if (isScreenTurningOffLocked()) { return; } handleLightSensorValue((int)event.values[0], false); handleLightSensorValue((int)event.values[0], mWaitingForFirstLightSensor); if (mWaitingForFirstLightSensor) { mWaitingForFirstLightSensor = false; } } } Loading Loading
services/java/com/android/server/PowerManagerService.java +19 −8 Original line number Diff line number Diff line Loading @@ -244,6 +244,7 @@ public class PowerManagerService extends IPowerManager.Stub private Handler mHandler; private final TimeoutTask mTimeoutTask = new TimeoutTask(); private ScreenBrightnessAnimator mScreenBrightnessAnimator; private boolean mWaitingForFirstLightSensor = false; private boolean mStillNeedSleepNotification; private boolean mIsPowered = false; private IActivityManager mActivityService; Loading Loading @@ -1755,7 +1756,11 @@ public class PowerManagerService extends IPowerManager.Stub mLastScreenOnTime = (on ? SystemClock.elapsedRealtime() : 0); if (mUseSoftwareAutoBrightness) { enableLightSensorLocked(on); if (!on) { if (on) { // If AutoBrightness is enabled, set the brightness immediately after the // next sensor value is received. mWaitingForFirstLightSensor = mAutoBrightessEnabled; } else { // make sure button and key backlights are off too mButtonLight.turnOff(); mKeyboardLight.turnOff(); Loading Loading @@ -2636,7 +2641,7 @@ public class PowerManagerService extends IPowerManager.Stub private void lightSensorChangedLocked(int value, boolean immediate) { if (mDebugLightSensor) { Slog.d(TAG, "lightSensorChangedLocked " + value); Slog.d(TAG, "lightSensorChangedLocked value=" + value + " immediate=" + immediate); } // Don't do anything if the screen is off. Loading Loading @@ -3212,7 +3217,9 @@ public class PowerManagerService extends IPowerManager.Stub private void enableLightSensorLocked(boolean enable) { if (mDebugLightSensor) { Slog.d(TAG, "enableLightSensorLocked enable=" + enable + " mAutoBrightessEnabled=" + mAutoBrightessEnabled); + " mLightSensorEnabled=" + mLightSensorEnabled + " mAutoBrightessEnabled=" + mAutoBrightessEnabled + " mWaitingForFirstLightSensor=" + mWaitingForFirstLightSensor); } if (!mAutoBrightessEnabled) { enable = false; Loading @@ -3226,8 +3233,8 @@ public class PowerManagerService extends IPowerManager.Stub // reset our highest value when reenabling mHighestLightSensorValue = -1; // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; final int value = (int)mLightSensorValue; if (value >= 0) { mLightSensorValue = -1; handleLightSensorValue(value, true); } Loading Loading @@ -3291,8 +3298,9 @@ public class PowerManagerService extends IPowerManager.Stub private void handleLightSensorValue(int value, boolean immediate) { long milliseconds = SystemClock.elapsedRealtime(); if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime) { if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime || mWaitingForFirstLightSensor) { // process the value immediately if screen has just turned on mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; Loading Loading @@ -3327,7 +3335,10 @@ public class PowerManagerService extends IPowerManager.Stub if (isScreenTurningOffLocked()) { return; } handleLightSensorValue((int)event.values[0], false); handleLightSensorValue((int)event.values[0], mWaitingForFirstLightSensor); if (mWaitingForFirstLightSensor) { mWaitingForFirstLightSensor = false; } } } Loading