Loading api/current.xml +43 −0 Original line number Diff line number Diff line Loading @@ -167061,6 +167061,39 @@ visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_FULL" type="float" transient="false" volatile="false" value="1.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_NONE" type="float" transient="false" volatile="false" value="-1.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_OFF" type="float" transient="false" volatile="false" value="0.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CREATOR" type="android.os.Parcelable.Creator" transient="false" Loading Loading @@ -167917,6 +167950,16 @@ visibility="public" > </field> <field name="buttonBrightness" type="float" transient="false" volatile="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> <field name="dimAmount" type="float" transient="false" core/java/android/os/LocalPowerManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,5 @@ public interface LocalPowerManager { boolean isScreenOn(); void setScreenBrightnessOverride(int brightness); void setButtonBrightnessOverride(int brightness); } core/java/android/view/WindowManager.java +39 −2 Original line number Diff line number Diff line Loading @@ -650,6 +650,27 @@ public interface WindowManager extends ViewManager { */ public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100; /** * Default value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the brightness value is not overridden for this window * and normal brightness policy should be used. */ public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f; /** * Value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the screen or button backlight brightness should be set * to the lowest value when this window is in front. */ public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f; /** * Value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the screen or button backlight brightness should be set * to the hightest value when this window is in front. */ public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f; /** * Desired operating mode for any soft input area. May any combination * of: Loading Loading @@ -717,7 +738,15 @@ public interface WindowManager extends ViewManager { * preferred screen brightness. 0 to 1 adjusts the brightness from * dark to full bright. */ public float screenBrightness = -1.0f; public float screenBrightness = BRIGHTNESS_OVERRIDE_NONE; /** * This can be used to override the standard behavior of the button and * keyboard backlights. A value of less than 0, the default, means to * use the standard backlight behavior. 0 to 1 adjusts the brightness * from dark to full bright. */ public float buttonBrightness = BRIGHTNESS_OVERRIDE_NONE; /** * Identifier for this window. This will usually be filled in for Loading Loading @@ -816,6 +845,7 @@ public interface WindowManager extends ViewManager { out.writeFloat(alpha); out.writeFloat(dimAmount); out.writeFloat(screenBrightness); out.writeFloat(buttonBrightness); out.writeStrongBinder(token); out.writeString(packageName); TextUtils.writeToParcel(mTitle, out, parcelableFlags); Loading Loading @@ -851,6 +881,7 @@ public interface WindowManager extends ViewManager { alpha = in.readFloat(); dimAmount = in.readFloat(); screenBrightness = in.readFloat(); buttonBrightness = in.readFloat(); token = in.readStrongBinder(); packageName = in.readString(); mTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); Loading @@ -870,6 +901,8 @@ public interface WindowManager extends ViewManager { public static final int SOFT_INPUT_MODE_CHANGED = 1<<9; public static final int SCREEN_ORIENTATION_CHANGED = 1<<10; public static final int SCREEN_BRIGHTNESS_CHANGED = 1<<11; /** {@hide} */ public static final int BUTTON_BRIGHTNESS_CHANGED = 1<<12; // internal buffer to backup/restore parameters under compatibility mode. private int[] mCompatibilityParamsBackup = null; Loading Loading @@ -971,6 +1004,10 @@ public interface WindowManager extends ViewManager { screenBrightness = o.screenBrightness; changes |= SCREEN_BRIGHTNESS_CHANGED; } if (buttonBrightness != o.buttonBrightness) { buttonBrightness = o.buttonBrightness; changes |= BUTTON_BRIGHTNESS_CHANGED; } if (screenOrientation != o.screenOrientation) { screenOrientation = o.screenOrientation; Loading services/java/com/android/server/PowerManagerService.java +95 −36 Original line number Diff line number Diff line Loading @@ -209,7 +209,9 @@ class PowerManagerService extends IPowerManager.Stub private boolean mLightSensorEnabled; private float mLightSensorValue = -1; private float mLightSensorPendingValue = -1; private int mLightSensorBrightness = -1; private int mLightSensorScreenBrightness = -1; private int mLightSensorButtonBrightness = -1; private int mLightSensorKeyboardBrightness = -1; private boolean mDimScreen = true; private long mNextTimeout; private volatile int mPokey = 0; Loading @@ -220,6 +222,7 @@ class PowerManagerService extends IPowerManager.Stub private long mLastScreenOnTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private int mButtonBrightnessOverride = -1; private boolean mUseSoftwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; Loading Loading @@ -919,7 +922,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mKeylightDelay=" + mKeylightDelay + " mDimDelay=" + mDimDelay + " mScreenOffDelay=" + mScreenOffDelay); pw.println(" mPreventScreenOn=" + mPreventScreenOn + " mScreenBrightnessOverride=" + mScreenBrightnessOverride); + " mScreenBrightnessOverride=" + mScreenBrightnessOverride + " mButtonBrightnessOverride=" + mButtonBrightnessOverride); pw.println(" mTotalDelaySetting=" + mTotalDelaySetting); pw.println(" mLastScreenOnTime=" + mLastScreenOnTime); pw.println(" mBroadcastWakeLock=" + mBroadcastWakeLock); Loading @@ -933,8 +937,11 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mProximityPendingValue=" + mProximityPendingValue); pw.println(" mLastProximityEventTime=" + mLastProximityEventTime); pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorValue=" + mLightSensorValue + " mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorScreenBrightness=" + mLightSensorScreenBrightness + " mLightSensorButtonBrightness=" + mLightSensorButtonBrightness + " mLightSensorKeyboardBrightness=" + mLightSensorKeyboardBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); Loading Loading @@ -1303,6 +1310,17 @@ class PowerManagerService extends IPowerManager.Stub } } public void setButtonBrightnessOverride(int brightness) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null); synchronized (mLocks) { if (mButtonBrightnessOverride != brightness) { mButtonBrightnessOverride = brightness; updateLightsLocked(mPowerState, BUTTON_BRIGHT_BIT | KEYBOARD_BRIGHT_BIT); } } } /** * Sanity-check that gets called 5 seconds after any call to * preventScreenOn(true). This ensures that the original call Loading Loading @@ -1451,8 +1469,7 @@ class PowerManagerService extends IPowerManager.Stub err = setScreenStateLocked(true); long identity = Binder.clearCallingIdentity(); try { mBatteryStats.noteScreenBrightness( getPreferredBrightness()); mBatteryStats.noteScreenBrightness(getPreferredBrightness()); mBatteryStats.noteScreenOn(); } catch (RemoteException e) { Log.w(TAG, "RemoteException calling noteScreenOn on BatteryStatsService", e); Loading Loading @@ -1523,6 +1540,8 @@ class PowerManagerService extends IPowerManager.Stub private void updateLightsLocked(int newState, int forceState) { final int oldState = mPowerState; newState = applyButtonState(newState); newState = applyKeyboardState(newState); final int realDifference = (newState ^ oldState); final int difference = realDifference | forceState; if (difference == 0) { Loading @@ -1541,9 +1560,9 @@ class PowerManagerService extends IPowerManager.Stub if ((newState & KEYBOARD_BRIGHT_BIT) == 0) { mKeyboardBrightness.setTargetLocked(Power.BRIGHTNESS_OFF, ANIM_STEPS, INITIAL_KEYBOARD_BRIGHTNESS, preferredBrightness); Power.BRIGHTNESS_ON); } else { mKeyboardBrightness.setTargetLocked(preferredBrightness, mKeyboardBrightness.setTargetLocked(Power.BRIGHTNESS_ON, ANIM_STEPS, INITIAL_KEYBOARD_BRIGHTNESS, Power.BRIGHTNESS_OFF); } Loading @@ -1562,9 +1581,9 @@ class PowerManagerService extends IPowerManager.Stub if ((newState & BUTTON_BRIGHT_BIT) == 0) { mButtonBrightness.setTargetLocked(Power.BRIGHTNESS_OFF, ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, preferredBrightness); Power.BRIGHTNESS_ON); } else { mButtonBrightness.setTargetLocked(preferredBrightness, mButtonBrightness.setTargetLocked(Power.BRIGHTNESS_ON, ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Power.BRIGHTNESS_OFF); } Loading Loading @@ -1820,9 +1839,9 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness } else if (mLightSensorScreenBrightness >= 0 && mUseSoftwareAutoBrightness && mAutoBrightessEnabled) { return mLightSensorBrightness; return mLightSensorScreenBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), SCREEN_BRIGHTNESS); Loading @@ -1833,6 +1852,40 @@ class PowerManagerService extends IPowerManager.Stub } } private int applyButtonState(int state) { int brightness = -1; if (mButtonBrightnessOverride >= 0) { brightness = mButtonBrightnessOverride; } else if (mLightSensorButtonBrightness >= 0 && mUseSoftwareAutoBrightness) { brightness = mLightSensorButtonBrightness; } if (brightness > 0) { return state | BUTTON_BRIGHT_BIT; } else if (brightness == 0) { return state & ~BUTTON_BRIGHT_BIT; } else { return state; } } private int applyKeyboardState(int state) { int brightness = -1; if (!mKeyboardVisible) { brightness = 0; } else if (mButtonBrightnessOverride >= 0) { brightness = mButtonBrightnessOverride; } else if (mLightSensorKeyboardBrightness >= 0 && mUseSoftwareAutoBrightness) { brightness = mLightSensorKeyboardBrightness; } if (brightness > 0) { return state | KEYBOARD_BRIGHT_BIT; } else if (brightness == 0) { return state & ~KEYBOARD_BRIGHT_BIT; } else { return state; } } public boolean isScreenOn() { synchronized (mLocks) { return (mPowerState & SCREEN_ON_BIT) != 0; Loading Loading @@ -2008,7 +2061,9 @@ class PowerManagerService extends IPowerManager.Stub } else { keyboardValue = 0; } mLightSensorBrightness = lcdValue; mLightSensorScreenBrightness = lcdValue; mLightSensorButtonBrightness = buttonValue; mLightSensorKeyboardBrightness = keyboardValue; if (mDebugLightSensor) { Log.d(TAG, "lcdValue " + lcdValue); Loading @@ -2032,6 +2087,7 @@ class PowerManagerService extends IPowerManager.Stub lcdValue, brightnessMode); } } if (mButtonBrightnessOverride < 0) { if (ANIMATE_BUTTON_LIGHTS) { if (mButtonBrightness.setTargetLocked(buttonValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Loading @@ -2045,6 +2101,8 @@ class PowerManagerService extends IPowerManager.Stub mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, buttonValue, brightnessMode); } } if (mButtonBrightnessOverride < 0 || !mKeyboardVisible) { if (ANIMATE_KEYBOARD_LIGHTS) { if (mKeyboardBrightness.setTargetLocked(keyboardValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Loading @@ -2058,6 +2116,7 @@ class PowerManagerService extends IPowerManager.Stub mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, keyboardValue, brightnessMode); } } if (startAnimation) { if (mDebugLightSensor) { Log.i(TAG, "lightSensorChangedLocked scheduling light animator"); Loading services/java/com/android/server/WindowManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -9313,6 +9313,7 @@ public class WindowManagerService extends IWindowManager.Stub boolean orientationChangeComplete = true; Session holdScreen = null; float screenBrightness = -1; float buttonBrightness = -1; boolean focusDisplayed = false; boolean animating = false; Loading Loading @@ -10072,6 +10073,10 @@ public class WindowManagerService extends IWindowManager.Stub && screenBrightness < 0) { screenBrightness = w.mAttrs.screenBrightness; } if (!syswin && w.mAttrs.buttonBrightness >= 0 && buttonBrightness < 0) { buttonBrightness = w.mAttrs.buttonBrightness; } if (attrs.type == WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG || attrs.type == WindowManager.LayoutParams.TYPE_KEYGUARD || attrs.type == WindowManager.LayoutParams.TYPE_SYSTEM_ERROR) { Loading Loading @@ -10318,6 +10323,12 @@ public class WindowManagerService extends IWindowManager.Stub mPowerManager.setScreenBrightnessOverride((int) (screenBrightness * Power.BRIGHTNESS_ON)); } if (buttonBrightness < 0 || buttonBrightness > 1.0f) { mPowerManager.setButtonBrightnessOverride(-1); } else { mPowerManager.setButtonBrightnessOverride((int) (buttonBrightness * Power.BRIGHTNESS_ON)); } if (holdScreen != mHoldingScreenOn) { mHoldingScreenOn = holdScreen; Message m = mH.obtainMessage(H.HOLD_SCREEN_CHANGED, holdScreen); Loading Loading
api/current.xml +43 −0 Original line number Diff line number Diff line Loading @@ -167061,6 +167061,39 @@ visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_FULL" type="float" transient="false" volatile="false" value="1.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_NONE" type="float" transient="false" volatile="false" value="-1.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="BRIGHTNESS_OVERRIDE_OFF" type="float" transient="false" volatile="false" value="0.0f" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CREATOR" type="android.os.Parcelable.Creator" transient="false" Loading Loading @@ -167917,6 +167950,16 @@ visibility="public" > </field> <field name="buttonBrightness" type="float" transient="false" volatile="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> <field name="dimAmount" type="float" transient="false"
core/java/android/os/LocalPowerManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,5 @@ public interface LocalPowerManager { boolean isScreenOn(); void setScreenBrightnessOverride(int brightness); void setButtonBrightnessOverride(int brightness); }
core/java/android/view/WindowManager.java +39 −2 Original line number Diff line number Diff line Loading @@ -650,6 +650,27 @@ public interface WindowManager extends ViewManager { */ public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100; /** * Default value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the brightness value is not overridden for this window * and normal brightness policy should be used. */ public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f; /** * Value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the screen or button backlight brightness should be set * to the lowest value when this window is in front. */ public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f; /** * Value for {@link #screenBrightness} and {@link #buttonBrightness} * indicating that the screen or button backlight brightness should be set * to the hightest value when this window is in front. */ public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f; /** * Desired operating mode for any soft input area. May any combination * of: Loading Loading @@ -717,7 +738,15 @@ public interface WindowManager extends ViewManager { * preferred screen brightness. 0 to 1 adjusts the brightness from * dark to full bright. */ public float screenBrightness = -1.0f; public float screenBrightness = BRIGHTNESS_OVERRIDE_NONE; /** * This can be used to override the standard behavior of the button and * keyboard backlights. A value of less than 0, the default, means to * use the standard backlight behavior. 0 to 1 adjusts the brightness * from dark to full bright. */ public float buttonBrightness = BRIGHTNESS_OVERRIDE_NONE; /** * Identifier for this window. This will usually be filled in for Loading Loading @@ -816,6 +845,7 @@ public interface WindowManager extends ViewManager { out.writeFloat(alpha); out.writeFloat(dimAmount); out.writeFloat(screenBrightness); out.writeFloat(buttonBrightness); out.writeStrongBinder(token); out.writeString(packageName); TextUtils.writeToParcel(mTitle, out, parcelableFlags); Loading Loading @@ -851,6 +881,7 @@ public interface WindowManager extends ViewManager { alpha = in.readFloat(); dimAmount = in.readFloat(); screenBrightness = in.readFloat(); buttonBrightness = in.readFloat(); token = in.readStrongBinder(); packageName = in.readString(); mTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); Loading @@ -870,6 +901,8 @@ public interface WindowManager extends ViewManager { public static final int SOFT_INPUT_MODE_CHANGED = 1<<9; public static final int SCREEN_ORIENTATION_CHANGED = 1<<10; public static final int SCREEN_BRIGHTNESS_CHANGED = 1<<11; /** {@hide} */ public static final int BUTTON_BRIGHTNESS_CHANGED = 1<<12; // internal buffer to backup/restore parameters under compatibility mode. private int[] mCompatibilityParamsBackup = null; Loading Loading @@ -971,6 +1004,10 @@ public interface WindowManager extends ViewManager { screenBrightness = o.screenBrightness; changes |= SCREEN_BRIGHTNESS_CHANGED; } if (buttonBrightness != o.buttonBrightness) { buttonBrightness = o.buttonBrightness; changes |= BUTTON_BRIGHTNESS_CHANGED; } if (screenOrientation != o.screenOrientation) { screenOrientation = o.screenOrientation; Loading
services/java/com/android/server/PowerManagerService.java +95 −36 Original line number Diff line number Diff line Loading @@ -209,7 +209,9 @@ class PowerManagerService extends IPowerManager.Stub private boolean mLightSensorEnabled; private float mLightSensorValue = -1; private float mLightSensorPendingValue = -1; private int mLightSensorBrightness = -1; private int mLightSensorScreenBrightness = -1; private int mLightSensorButtonBrightness = -1; private int mLightSensorKeyboardBrightness = -1; private boolean mDimScreen = true; private long mNextTimeout; private volatile int mPokey = 0; Loading @@ -220,6 +222,7 @@ class PowerManagerService extends IPowerManager.Stub private long mLastScreenOnTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private int mButtonBrightnessOverride = -1; private boolean mUseSoftwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; Loading Loading @@ -919,7 +922,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mKeylightDelay=" + mKeylightDelay + " mDimDelay=" + mDimDelay + " mScreenOffDelay=" + mScreenOffDelay); pw.println(" mPreventScreenOn=" + mPreventScreenOn + " mScreenBrightnessOverride=" + mScreenBrightnessOverride); + " mScreenBrightnessOverride=" + mScreenBrightnessOverride + " mButtonBrightnessOverride=" + mButtonBrightnessOverride); pw.println(" mTotalDelaySetting=" + mTotalDelaySetting); pw.println(" mLastScreenOnTime=" + mLastScreenOnTime); pw.println(" mBroadcastWakeLock=" + mBroadcastWakeLock); Loading @@ -933,8 +937,11 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mProximityPendingValue=" + mProximityPendingValue); pw.println(" mLastProximityEventTime=" + mLastProximityEventTime); pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorValue=" + mLightSensorValue + " mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mLightSensorScreenBrightness=" + mLightSensorScreenBrightness + " mLightSensorButtonBrightness=" + mLightSensorButtonBrightness + " mLightSensorKeyboardBrightness=" + mLightSensorKeyboardBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); Loading Loading @@ -1303,6 +1310,17 @@ class PowerManagerService extends IPowerManager.Stub } } public void setButtonBrightnessOverride(int brightness) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null); synchronized (mLocks) { if (mButtonBrightnessOverride != brightness) { mButtonBrightnessOverride = brightness; updateLightsLocked(mPowerState, BUTTON_BRIGHT_BIT | KEYBOARD_BRIGHT_BIT); } } } /** * Sanity-check that gets called 5 seconds after any call to * preventScreenOn(true). This ensures that the original call Loading Loading @@ -1451,8 +1469,7 @@ class PowerManagerService extends IPowerManager.Stub err = setScreenStateLocked(true); long identity = Binder.clearCallingIdentity(); try { mBatteryStats.noteScreenBrightness( getPreferredBrightness()); mBatteryStats.noteScreenBrightness(getPreferredBrightness()); mBatteryStats.noteScreenOn(); } catch (RemoteException e) { Log.w(TAG, "RemoteException calling noteScreenOn on BatteryStatsService", e); Loading Loading @@ -1523,6 +1540,8 @@ class PowerManagerService extends IPowerManager.Stub private void updateLightsLocked(int newState, int forceState) { final int oldState = mPowerState; newState = applyButtonState(newState); newState = applyKeyboardState(newState); final int realDifference = (newState ^ oldState); final int difference = realDifference | forceState; if (difference == 0) { Loading @@ -1541,9 +1560,9 @@ class PowerManagerService extends IPowerManager.Stub if ((newState & KEYBOARD_BRIGHT_BIT) == 0) { mKeyboardBrightness.setTargetLocked(Power.BRIGHTNESS_OFF, ANIM_STEPS, INITIAL_KEYBOARD_BRIGHTNESS, preferredBrightness); Power.BRIGHTNESS_ON); } else { mKeyboardBrightness.setTargetLocked(preferredBrightness, mKeyboardBrightness.setTargetLocked(Power.BRIGHTNESS_ON, ANIM_STEPS, INITIAL_KEYBOARD_BRIGHTNESS, Power.BRIGHTNESS_OFF); } Loading @@ -1562,9 +1581,9 @@ class PowerManagerService extends IPowerManager.Stub if ((newState & BUTTON_BRIGHT_BIT) == 0) { mButtonBrightness.setTargetLocked(Power.BRIGHTNESS_OFF, ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, preferredBrightness); Power.BRIGHTNESS_ON); } else { mButtonBrightness.setTargetLocked(preferredBrightness, mButtonBrightness.setTargetLocked(Power.BRIGHTNESS_ON, ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Power.BRIGHTNESS_OFF); } Loading Loading @@ -1820,9 +1839,9 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness } else if (mLightSensorScreenBrightness >= 0 && mUseSoftwareAutoBrightness && mAutoBrightessEnabled) { return mLightSensorBrightness; return mLightSensorScreenBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), SCREEN_BRIGHTNESS); Loading @@ -1833,6 +1852,40 @@ class PowerManagerService extends IPowerManager.Stub } } private int applyButtonState(int state) { int brightness = -1; if (mButtonBrightnessOverride >= 0) { brightness = mButtonBrightnessOverride; } else if (mLightSensorButtonBrightness >= 0 && mUseSoftwareAutoBrightness) { brightness = mLightSensorButtonBrightness; } if (brightness > 0) { return state | BUTTON_BRIGHT_BIT; } else if (brightness == 0) { return state & ~BUTTON_BRIGHT_BIT; } else { return state; } } private int applyKeyboardState(int state) { int brightness = -1; if (!mKeyboardVisible) { brightness = 0; } else if (mButtonBrightnessOverride >= 0) { brightness = mButtonBrightnessOverride; } else if (mLightSensorKeyboardBrightness >= 0 && mUseSoftwareAutoBrightness) { brightness = mLightSensorKeyboardBrightness; } if (brightness > 0) { return state | KEYBOARD_BRIGHT_BIT; } else if (brightness == 0) { return state & ~KEYBOARD_BRIGHT_BIT; } else { return state; } } public boolean isScreenOn() { synchronized (mLocks) { return (mPowerState & SCREEN_ON_BIT) != 0; Loading Loading @@ -2008,7 +2061,9 @@ class PowerManagerService extends IPowerManager.Stub } else { keyboardValue = 0; } mLightSensorBrightness = lcdValue; mLightSensorScreenBrightness = lcdValue; mLightSensorButtonBrightness = buttonValue; mLightSensorKeyboardBrightness = keyboardValue; if (mDebugLightSensor) { Log.d(TAG, "lcdValue " + lcdValue); Loading @@ -2032,6 +2087,7 @@ class PowerManagerService extends IPowerManager.Stub lcdValue, brightnessMode); } } if (mButtonBrightnessOverride < 0) { if (ANIMATE_BUTTON_LIGHTS) { if (mButtonBrightness.setTargetLocked(buttonValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Loading @@ -2045,6 +2101,8 @@ class PowerManagerService extends IPowerManager.Stub mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, buttonValue, brightnessMode); } } if (mButtonBrightnessOverride < 0 || !mKeyboardVisible) { if (ANIMATE_KEYBOARD_LIGHTS) { if (mKeyboardBrightness.setTargetLocked(keyboardValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, Loading @@ -2058,6 +2116,7 @@ class PowerManagerService extends IPowerManager.Stub mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, keyboardValue, brightnessMode); } } if (startAnimation) { if (mDebugLightSensor) { Log.i(TAG, "lightSensorChangedLocked scheduling light animator"); Loading
services/java/com/android/server/WindowManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -9313,6 +9313,7 @@ public class WindowManagerService extends IWindowManager.Stub boolean orientationChangeComplete = true; Session holdScreen = null; float screenBrightness = -1; float buttonBrightness = -1; boolean focusDisplayed = false; boolean animating = false; Loading Loading @@ -10072,6 +10073,10 @@ public class WindowManagerService extends IWindowManager.Stub && screenBrightness < 0) { screenBrightness = w.mAttrs.screenBrightness; } if (!syswin && w.mAttrs.buttonBrightness >= 0 && buttonBrightness < 0) { buttonBrightness = w.mAttrs.buttonBrightness; } if (attrs.type == WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG || attrs.type == WindowManager.LayoutParams.TYPE_KEYGUARD || attrs.type == WindowManager.LayoutParams.TYPE_SYSTEM_ERROR) { Loading Loading @@ -10318,6 +10323,12 @@ public class WindowManagerService extends IWindowManager.Stub mPowerManager.setScreenBrightnessOverride((int) (screenBrightness * Power.BRIGHTNESS_ON)); } if (buttonBrightness < 0 || buttonBrightness > 1.0f) { mPowerManager.setButtonBrightnessOverride(-1); } else { mPowerManager.setButtonBrightnessOverride((int) (buttonBrightness * Power.BRIGHTNESS_ON)); } if (holdScreen != mHoldingScreenOn) { mHoldingScreenOn = holdScreen; Message m = mH.obtainMessage(H.HOLD_SCREEN_CHANGED, holdScreen); Loading