Loading services/java/com/android/server/PowerManagerService.java +30 −13 Original line number Diff line number Diff line Loading @@ -219,6 +219,8 @@ class PowerManagerService extends IPowerManager.Stub private float mLightSensorValue = -1; private boolean mProxIgnoredBecauseScreenTurnedOff = false; private int mHighestLightSensorValue = -1; private boolean mLightSensorPendingDecrease = false; private boolean mLightSensorPendingIncrease = false; private float mLightSensorPendingValue = -1; private int mLightSensorScreenBrightness = -1; private int mLightSensorButtonBrightness = -1; Loading Loading @@ -1141,6 +1143,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue + " mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorPendingDecrease=" + mLightSensorPendingDecrease + " mLightSensorPendingIncrease=" + mLightSensorPendingIncrease); pw.println(" mLightSensorScreenBrightness=" + mLightSensorScreenBrightness + " mLightSensorButtonBrightness=" + mLightSensorButtonBrightness + " mLightSensorKeyboardBrightness=" + mLightSensorKeyboardBrightness); Loading Loading @@ -1742,6 +1746,8 @@ class PowerManagerService extends IPowerManager.Stub } else { // cancel light sensor task mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; mScreenOffTime = SystemClock.elapsedRealtime(); long identity = Binder.clearCallingIdentity(); try { Loading Loading @@ -2325,9 +2331,10 @@ class PowerManagerService extends IPowerManager.Stub private Runnable mAutoBrightnessTask = new Runnable() { public void run() { synchronized (mLocks) { if (mLightSensorPendingDecrease || mLightSensorPendingIncrease) { int value = (int)mLightSensorPendingValue; if (value >= 0) { mLightSensorPendingValue = -1; mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; lightSensorChangedLocked(value); } } Loading Loading @@ -2981,19 +2988,29 @@ class PowerManagerService extends IPowerManager.Stub if (mDebugLightSensor) { Slog.d(TAG, "onSensorChanged: light value: " + value); } mHandler.removeCallbacks(mAutoBrightnessTask); if (mLightSensorValue != value) { if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime) { // process the value immediately if screen has just turned on mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; lightSensorChangedLocked(value); } else { if ((value > mLightSensorValue && mLightSensorPendingDecrease) || (value < mLightSensorValue && mLightSensorPendingIncrease) || (value == mLightSensorValue) || (!mLightSensorPendingDecrease && !mLightSensorPendingIncrease)) { // delay processing to debounce the sensor mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = (value < mLightSensorValue); mLightSensorPendingIncrease = (value > mLightSensorValue); if (mLightSensorPendingDecrease || mLightSensorPendingIncrease) { mLightSensorPendingValue = value; mHandler.postDelayed(mAutoBrightnessTask, LIGHT_SENSOR_DELAY); } } else { mLightSensorPendingValue = -1; mLightSensorPendingValue = value; } } } } Loading Loading
services/java/com/android/server/PowerManagerService.java +30 −13 Original line number Diff line number Diff line Loading @@ -219,6 +219,8 @@ class PowerManagerService extends IPowerManager.Stub private float mLightSensorValue = -1; private boolean mProxIgnoredBecauseScreenTurnedOff = false; private int mHighestLightSensorValue = -1; private boolean mLightSensorPendingDecrease = false; private boolean mLightSensorPendingIncrease = false; private float mLightSensorPendingValue = -1; private int mLightSensorScreenBrightness = -1; private int mLightSensorButtonBrightness = -1; Loading Loading @@ -1141,6 +1143,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue + " mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorPendingDecrease=" + mLightSensorPendingDecrease + " mLightSensorPendingIncrease=" + mLightSensorPendingIncrease); pw.println(" mLightSensorScreenBrightness=" + mLightSensorScreenBrightness + " mLightSensorButtonBrightness=" + mLightSensorButtonBrightness + " mLightSensorKeyboardBrightness=" + mLightSensorKeyboardBrightness); Loading Loading @@ -1742,6 +1746,8 @@ class PowerManagerService extends IPowerManager.Stub } else { // cancel light sensor task mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; mScreenOffTime = SystemClock.elapsedRealtime(); long identity = Binder.clearCallingIdentity(); try { Loading Loading @@ -2325,9 +2331,10 @@ class PowerManagerService extends IPowerManager.Stub private Runnable mAutoBrightnessTask = new Runnable() { public void run() { synchronized (mLocks) { if (mLightSensorPendingDecrease || mLightSensorPendingIncrease) { int value = (int)mLightSensorPendingValue; if (value >= 0) { mLightSensorPendingValue = -1; mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; lightSensorChangedLocked(value); } } Loading Loading @@ -2981,19 +2988,29 @@ class PowerManagerService extends IPowerManager.Stub if (mDebugLightSensor) { Slog.d(TAG, "onSensorChanged: light value: " + value); } mHandler.removeCallbacks(mAutoBrightnessTask); if (mLightSensorValue != value) { if (mLightSensorValue == -1 || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime) { // process the value immediately if screen has just turned on mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = false; mLightSensorPendingIncrease = false; lightSensorChangedLocked(value); } else { if ((value > mLightSensorValue && mLightSensorPendingDecrease) || (value < mLightSensorValue && mLightSensorPendingIncrease) || (value == mLightSensorValue) || (!mLightSensorPendingDecrease && !mLightSensorPendingIncrease)) { // delay processing to debounce the sensor mHandler.removeCallbacks(mAutoBrightnessTask); mLightSensorPendingDecrease = (value < mLightSensorValue); mLightSensorPendingIncrease = (value > mLightSensorValue); if (mLightSensorPendingDecrease || mLightSensorPendingIncrease) { mLightSensorPendingValue = value; mHandler.postDelayed(mAutoBrightnessTask, LIGHT_SENSOR_DELAY); } } else { mLightSensorPendingValue = -1; mLightSensorPendingValue = value; } } } } Loading