Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd749e05 authored by Craig Mautner's avatar Craig Mautner Committed by Android Git Automerger
Browse files

am 55ab60cd: am 8c4b40ec: Merge "Set screen brightness to match sensor at power on." into jb-dev

* commit '55ab60cd':
  Set screen brightness to match sensor at power on.
parents 9a8eed3a 55ab60cd
Loading
Loading
Loading
Loading
+19 −8
Original line number Original line Diff line number Diff line
@@ -244,6 +244,7 @@ public class PowerManagerService extends IPowerManager.Stub
    private Handler mHandler;
    private Handler mHandler;
    private final TimeoutTask mTimeoutTask = new TimeoutTask();
    private final TimeoutTask mTimeoutTask = new TimeoutTask();
    private ScreenBrightnessAnimator mScreenBrightnessAnimator;
    private ScreenBrightnessAnimator mScreenBrightnessAnimator;
    private boolean mWaitingForFirstLightSensor = false;
    private boolean mStillNeedSleepNotification;
    private boolean mStillNeedSleepNotification;
    private boolean mIsPowered = false;
    private boolean mIsPowered = false;
    private IActivityManager mActivityService;
    private IActivityManager mActivityService;
@@ -1755,7 +1756,11 @@ public class PowerManagerService extends IPowerManager.Stub
            mLastScreenOnTime = (on ? SystemClock.elapsedRealtime() : 0);
            mLastScreenOnTime = (on ? SystemClock.elapsedRealtime() : 0);
            if (mUseSoftwareAutoBrightness) {
            if (mUseSoftwareAutoBrightness) {
                enableLightSensorLocked(on);
                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
                    // make sure button and key backlights are off too
                    mButtonLight.turnOff();
                    mButtonLight.turnOff();
                    mKeyboardLight.turnOff();
                    mKeyboardLight.turnOff();
@@ -2636,7 +2641,7 @@ public class PowerManagerService extends IPowerManager.Stub


    private void lightSensorChangedLocked(int value, boolean immediate) {
    private void lightSensorChangedLocked(int value, boolean immediate) {
        if (mDebugLightSensor) {
        if (mDebugLightSensor) {
            Slog.d(TAG, "lightSensorChangedLocked " + value);
            Slog.d(TAG, "lightSensorChangedLocked value=" + value + " immediate=" + immediate);
        }
        }


        // Don't do anything if the screen is off.
        // Don't do anything if the screen is off.
@@ -3212,7 +3217,9 @@ public class PowerManagerService extends IPowerManager.Stub
    private void enableLightSensorLocked(boolean enable) {
    private void enableLightSensorLocked(boolean enable) {
        if (mDebugLightSensor) {
        if (mDebugLightSensor) {
            Slog.d(TAG, "enableLightSensorLocked enable=" + enable
            Slog.d(TAG, "enableLightSensorLocked enable=" + enable
                    + " mAutoBrightessEnabled=" + mAutoBrightessEnabled);
                    + " mLightSensorEnabled=" + mLightSensorEnabled
                    + " mAutoBrightessEnabled=" + mAutoBrightessEnabled
                    + " mWaitingForFirstLightSensor=" + mWaitingForFirstLightSensor);
        }
        }
        if (!mAutoBrightessEnabled) {
        if (!mAutoBrightessEnabled) {
            enable = false;
            enable = false;
@@ -3226,8 +3233,8 @@ public class PowerManagerService extends IPowerManager.Stub
                    // reset our highest value when reenabling
                    // reset our highest value when reenabling
                    mHighestLightSensorValue = -1;
                    mHighestLightSensorValue = -1;
                    // force recompute of backlight values
                    // force recompute of backlight values
                    if (mLightSensorValue >= 0) {
                    final int value = (int)mLightSensorValue;
                        int value = (int)mLightSensorValue;
                    if (value >= 0) {
                        mLightSensorValue = -1;
                        mLightSensorValue = -1;
                        handleLightSensorValue(value, true);
                        handleLightSensorValue(value, true);
                    }
                    }
@@ -3291,8 +3298,9 @@ public class PowerManagerService extends IPowerManager.Stub


    private void handleLightSensorValue(int value, boolean immediate) {
    private void handleLightSensorValue(int value, boolean immediate) {
        long milliseconds = SystemClock.elapsedRealtime();
        long milliseconds = SystemClock.elapsedRealtime();
        if (mLightSensorValue == -1 ||
        if (mLightSensorValue == -1
                milliseconds < mLastScreenOnTime + mLightSensorWarmupTime) {
                || milliseconds < mLastScreenOnTime + mLightSensorWarmupTime
                || mWaitingForFirstLightSensor) {
            // process the value immediately if screen has just turned on
            // process the value immediately if screen has just turned on
            mHandler.removeCallbacks(mAutoBrightnessTask);
            mHandler.removeCallbacks(mAutoBrightnessTask);
            mLightSensorPendingDecrease = false;
            mLightSensorPendingDecrease = false;
@@ -3327,7 +3335,10 @@ public class PowerManagerService extends IPowerManager.Stub
                if (isScreenTurningOffLocked()) {
                if (isScreenTurningOffLocked()) {
                    return;
                    return;
                }
                }
                handleLightSensorValue((int)event.values[0], false);
                handleLightSensorValue((int)event.values[0], mWaitingForFirstLightSensor);
                if (mWaitingForFirstLightSensor) {
                    mWaitingForFirstLightSensor = false;
                }
            }
            }
        }
        }