diff options
| author | Mike Lockwood <lockwood@android.com> | 2009-10-26 14:50:42 -0400 |
|---|---|---|
| committer | Mike Lockwood <lockwood@android.com> | 2009-10-26 14:52:00 -0400 |
| commit | 3333fa4f3d2e1bd3842fe7d41d19557ff9a98372 (patch) | |
| tree | 4976c8180c3fd008973485672e0b7df9e5c48dc9 /services | |
| parent | a47d153647d8750b667942ad80e7b905ea98c68b (diff) | |
| download | frameworks_base-3333fa4f3d2e1bd3842fe7d41d19557ff9a98372.zip frameworks_base-3333fa4f3d2e1bd3842fe7d41d19557ff9a98372.tar.gz frameworks_base-3333fa4f3d2e1bd3842fe7d41d19557ff9a98372.tar.bz2 | |
PowerManagerService: Ensure that recent changes do not effect the hardware ALS case.
Change-Id: I42d2d1331c2a6234dfbdaa99f0cc8ab249f7ce22
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 45d03e6..aad576f 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -478,7 +478,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); - if (mAutoBrightessEnabled) { + if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { @@ -580,7 +580,11 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: - wl.minState = SCREEN_BRIGHT; + if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { + wl.minState = SCREEN_BRIGHT; + } else { + wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); + } break; case PowerManager.SCREEN_BRIGHT_WAKE_LOCK: wl.minState = SCREEN_BRIGHT; @@ -1332,8 +1336,8 @@ class PowerManagerService extends IPowerManager.Stub if (newState == mPowerState) { return; } - - if (!mDoneBooting && !mAutoBrightessEnabled) { + + if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { newState |= ALL_BRIGHT; } @@ -1757,7 +1761,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; - } else if (mLightSensorBrightness >= 0) { + } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), @@ -1846,7 +1850,8 @@ class PowerManagerService extends IPowerManager.Stub if ((mUserActivityAllowed && !mProximitySensorActive) || force) { // Only turn on button backlights if a button was pressed // and auto brightness is disabled - if (eventType == BUTTON_EVENT && !mAutoBrightessEnabled) { + if (eventType == BUTTON_EVENT && + !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. @@ -1904,6 +1909,8 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } + if (mHasHardwareAutoBrightness) return; + if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { |
