From 5c7ae1414806f0c15816fcb3c881232ca6bac0d6 Mon Sep 17 00:00:00 2001 From: Julius D'souza Date: Mon, 7 Nov 2016 10:55:20 -0800 Subject: [PATCH] DO NOT MERGE: Sync with master: Add initial ambient light sensor rate Bug: 32150144 Change-Id: Ica81107feddd7a5fa3b6ac585dab06a188c747b0 --- .../server/display/AutomaticBrightnessController.java | 7 +++---- .../com/android/server/display/DisplayPowerController.java | 7 +++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java index bdd041a317c99..8bfa7d7150228 100644 --- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java +++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java @@ -208,7 +208,7 @@ class AutomaticBrightnessController { mDozeScaleFactor = dozeScaleFactor; mNormalLightSensorRate = lightSensorRate; mInitialLightSensorRate = initialLightSensorRate; - mCurrentLightSensorRate = mNormalLightSensorRate; + mCurrentLightSensorRate = -1; mBrighteningLightDebounceConfig = brighteningLightDebounceConfig; mDarkeningLightDebounceConfig = darkeningLightDebounceConfig; mResetAmbientLuxAfterWarmUpConfig = resetAmbientLuxAfterWarmUpConfig; @@ -320,6 +320,7 @@ class AutomaticBrightnessController { mInitialHorizonAmbientLightRingBuffer.clear(); mAmbientLuxValid = !mResetAmbientLuxAfterWarmUpConfig; mLightSensorEnableTime = SystemClock.uptimeMillis(); + mCurrentLightSensorRate = mInitialLightSensorRate; mSensorManager.registerListener(mLightSensorListener, mLightSensor, mCurrentLightSensorRate * 1000, mHandler); return true; @@ -328,9 +329,7 @@ class AutomaticBrightnessController { if (mLightSensorEnabled) { mLightSensorEnabled = false; mRecentLightSamples = 0; - if (mInitialLightSensorRate > 0) { - mCurrentLightSensorRate = mInitialLightSensorRate; - } + mCurrentLightSensorRate = -1; mHandler.removeMessages(MSG_UPDATE_AMBIENT_LUX); mSensorManager.unregisterListener(mLightSensorListener); } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 3207a868afaca..de5bffda424fd 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -315,6 +315,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call com.android.internal.R.integer.config_autoBrightnessLightSensorRate); int initialLightSensorRate = resources.getInteger( com.android.internal.R.integer.config_autoBrightnessInitialLightSensorRate); + if (initialLightSensorRate == -1) { + initialLightSensorRate = lightSensorRate; + } else if (initialLightSensorRate > lightSensorRate) { + Slog.w(TAG, "Expected config_autoBrightnessInitialLightSensorRate (" + + initialLightSensorRate + ") to be less than or equal to " + + "config_autoBrightnessLightSensorRate (" + lightSensorRate + ")."); + } long brighteningLightDebounce = resources.getInteger( com.android.internal.R.integer.config_autoBrightnessBrighteningLightDebounce); long darkeningLightDebounce = resources.getInteger(