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

Commit 5ef89808 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change I9c242127 into eclair

* changes:
  PowerManagerService: Animate LCD backlight changes due to autobrightness support.
parents 98de26e0 dd9668ec
Loading
Loading
Loading
Loading
+41 −17
Original line number Diff line number Diff line
@@ -131,6 +131,8 @@ class PowerManagerService extends IPowerManager.Stub
    static final boolean ANIMATE_KEYBOARD_LIGHTS = false;
    
    static final int ANIM_STEPS = 60/4;
    // Slower animation for autobrightness changes
    static final int AUTOBRIGHTNESS_ANIM_STEPS = 60;

    // These magic numbers are the initial state of the LEDs at boot.  Ideally
    // we should read them from the driver, but our current hardware returns 0
@@ -224,7 +226,7 @@ class PowerManagerService extends IPowerManager.Stub

    // could be either static or controllable at runtime
    private static final boolean mSpew = false;
    private static final boolean mDebugLightSensor = false;
    private static final boolean mDebugLightSensor = (false || mSpew);

    /*
    static PrintStream mLog;
@@ -1925,27 +1927,45 @@ class PowerManagerService extends IPowerManager.Stub
                    Log.d(TAG, "keyboardValue " + keyboardValue);
                }

                boolean startAnimation = false;
                if (mScreenBrightnessOverride < 0) {
                    if (ANIMATE_SCREEN_LIGHTS) {
                        if (mScreenBrightness.setTargetLocked(lcdValue,
                                AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_SCREEN_BRIGHTNESS,
                                (int)mScreenBrightness.curValue)) {
                            startAnimation = true;
                        }
                    } else {
                        mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BACKLIGHT,
                                lcdValue);
                    }
                }
                if (ANIMATE_BUTTON_LIGHTS) {
                    if (mButtonBrightness.setTargetLocked(buttonValue,
                            AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS,
                            (int)mButtonBrightness.curValue)) {
                        startAnimation = true;
                    }
                } else {
                    mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS,
                            buttonValue);
                }
                if (ANIMATE_KEYBOARD_LIGHTS) {
                    if (mKeyboardBrightness.setTargetLocked(keyboardValue,
                            AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS,
                            (int)mKeyboardBrightness.curValue)) {
                        startAnimation = true;
                    }
                } else {
                    mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD,
                            keyboardValue);

                // update our animation state
                if (ANIMATE_SCREEN_LIGHTS) {
                    mScreenBrightness.curValue = lcdValue;
                    mScreenBrightness.animating = false;
                }
                if (ANIMATE_BUTTON_LIGHTS) {
                    mButtonBrightness.curValue = buttonValue;
                    mButtonBrightness.animating = false;
                if (startAnimation) {
                    if (mDebugLightSensor) {
                        Log.i(TAG, "lightSensorChangedLocked scheduling light animator");
                    }
                if (ANIMATE_KEYBOARD_LIGHTS) {
                    mKeyboardBrightness.curValue = keyboardValue;
                    mKeyboardBrightness.animating = false;
                    mHandler.removeCallbacks(mLightAnimator);
                    mHandler.post(mLightAnimator);
                }
            }
        }
@@ -2041,6 +2061,7 @@ class PowerManagerService extends IPowerManager.Stub
        if (mAutoBrightessEnabled != enabled) {
            mAutoBrightessEnabled = enabled;
            // reset computed brightness
            mLightSensorValue = -1;
            mLightSensorBrightness = -1;

            if (mHasHardwareAutoBrightness) {
@@ -2263,14 +2284,17 @@ class PowerManagerService extends IPowerManager.Stub
        if (ANIMATE_SCREEN_LIGHTS) {
            mScreenBrightness.curValue = brightness;
            mScreenBrightness.animating = false;
            mScreenBrightness.targetValue = -1;
        }
        if (ANIMATE_KEYBOARD_LIGHTS) {
            mKeyboardBrightness.curValue = brightness;
            mKeyboardBrightness.animating = false;
            mKeyboardBrightness.targetValue = -1;
        }
        if (ANIMATE_BUTTON_LIGHTS) {
            mButtonBrightness.curValue = brightness;
            mButtonBrightness.animating = false;
            mButtonBrightness.targetValue = -1;
        }
    }