diff options
| -rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 11b966ee87ef..0189c60742ce 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -557,14 +557,6 @@ class PowerManagerService extends IPowerManager.Stub }); updateSettingsValues(); - if (mUseSoftwareAutoBrightness) { - // turn the screen on - setPowerState(SCREEN_BRIGHT); - } else { - // turn everything on - setPowerState(ALL_BRIGHT); - } - synchronized (mHandlerThread) { mInitComplete = true; mHandlerThread.notifyAll(); @@ -2486,9 +2478,21 @@ class PowerManagerService extends IPowerManager.Stub enableLightSensor(true); } + // wait until sensors are enabled before turning on screen. + // some devices will not activate the light sensor properly on boot + // unless we do this. + if (mUseSoftwareAutoBrightness) { + // turn the screen on + setPowerState(SCREEN_BRIGHT); + } else { + // turn everything on + setPowerState(ALL_BRIGHT); + } + synchronized (mLocks) { Slog.d(TAG, "system ready!"); mDoneBooting = true; + long identity = Binder.clearCallingIdentity(); try { mBatteryStats.noteScreenBrightness(getPreferredBrightness()); |