summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Solomon <solomondaniel@google.com> 2019-04-10 15:17:41 -0700
committer Daniel Solomon <solomondaniel@google.com> 2019-04-25 00:53:15 +0000
commit3781641adba788b0fe2d4f7744d79110c9d30263 (patch)
treec5cd6773faea805e131eefb58696265d9c65a05f
parentcbfe50d70c9c45ec63f7242fc0d19f8c9f882d81 (diff)
Reset DWB color temperature when DWBC is disabled
Currently when DisplayWhiteBalanceController is disabled, it resets internal states and disables related sensors. However, it does not modify the display's color temperature. This results in the last color temperature remaining in effect during Always on Display, even though DWBC no longer controls it. This change makes DWBC reset the display's color temperature to a default value when it is disabled. Bug 130262595 Test: manual Change-Id: I066577d705cc9a518fe9196b0afd7374980816b3
-rw-r--r--services/core/java/com/android/server/display/color/ColorDisplayService.java8
-rw-r--r--services/core/java/com/android/server/display/whitebalance/DisplayWhiteBalanceController.java1
2 files changed, 9 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/display/color/ColorDisplayService.java b/services/core/java/com/android/server/display/color/ColorDisplayService.java
index a7d0a5c706b6..f599adb5118a 100644
--- a/services/core/java/com/android/server/display/color/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java
@@ -1241,6 +1241,14 @@ public final class ColorDisplayService extends SystemService {
}
/**
+ * Reset the CCT value for the display white balance transform to its default value.
+ */
+ public boolean resetDisplayWhiteBalanceColorTemperature() {
+ return setDisplayWhiteBalanceColorTemperature(getContext().getResources()
+ .getInteger(R.integer.config_displayWhiteBalanceColorTemperatureDefault));
+ }
+
+ /**
* Sets the listener and returns whether display white balance is currently enabled.
*/
public boolean setDisplayWhiteBalanceListener(DisplayWhiteBalanceListener listener) {
diff --git a/services/core/java/com/android/server/display/whitebalance/DisplayWhiteBalanceController.java b/services/core/java/com/android/server/display/whitebalance/DisplayWhiteBalanceController.java
index c32ae97da14f..0f86b478468f 100644
--- a/services/core/java/com/android/server/display/whitebalance/DisplayWhiteBalanceController.java
+++ b/services/core/java/com/android/server/display/whitebalance/DisplayWhiteBalanceController.java
@@ -405,6 +405,7 @@ public class DisplayWhiteBalanceController implements
mThrottler.clear();
mAmbientColorTemperature = -1.0f;
mPendingAmbientColorTemperature = -1.0f;
+ mColorDisplayServiceInternal.resetDisplayWhiteBalanceColorTemperature();
return true;
}