From 18651804ff913a6c296f772e53bc2d3b84b1b923 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Wed, 7 Mar 2012 14:19:56 -0800 Subject: [PATCH] Fix 6119433: disambiguate screen brightness changes from other lights This fixes a bug where the code asked to change the keyboard brightness on a device that doesn't support it. Instead of animating the keyboard brightness, it ended up animating the display brightness and invoking the power off animation as a result. The fix is to ignore keyboard brightness because we don't have any devices that currently support it. Change-Id: I672d89f92f991812ea676f19c40058b2d3008656 --- services/java/com/android/server/PowerManagerService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index d9d3f4e61ad05..63418db2cb335 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -2234,14 +2234,18 @@ public class PowerManagerService extends IPowerManager.Stub } if (target != currentValue) { + final boolean doScreenAnim = (mask & (SCREEN_BRIGHT_BIT | SCREEN_ON_BIT)) != 0; final boolean turningOff = endValue == Power.BRIGHTNESS_OFF; - if (turningOff && ((mask & (SCREEN_ON_BIT | SCREEN_BRIGHT_BIT)) != 0)) { + if (turningOff && doScreenAnim) { // Cancel all pending animations since we're turning off mScreenBrightnessHandler.removeCallbacksAndMessages(null); screenOffFinishedAnimatingLocked(mScreenOffReason); duration = 200; // TODO: how long should this be? } - animateInternal(mask, turningOff, 0); + if (doScreenAnim) { + animateInternal(mask, turningOff, 0); + } + // TODO: Handle keyboard light animation when we have devices that support it } } }