Stop NaN being passed to brightness curve.
PowerManager.BRIGHTNESS_INVALID_FLOAT was being passed on when it shoudln't have been, if statement has been fixed to avoid this.
Bug: 152685837
Test: AutomaticBrightnessControllerTest, adb shell dumpsys display |
grep mBrightnessSpline (check no NaN values)
Change-Id: Ic2d22938ccc81cb2b9e2645b7e21acd89163b107
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index a232051..fa8b556 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -551,7 +551,8 @@
}
if (state == Display.STATE_OFF) {
brightnessState = PowerManager.BRIGHTNESS_OFF_FLOAT;
- } else if (brightnessState < PowerManager.BRIGHTNESS_MIN || Float.isNaN(brightnessState)) {
+ } else if (brightnessState != PowerManager.BRIGHTNESS_OFF_FLOAT
+ && brightnessState < PowerManager.BRIGHTNESS_MIN) {
brightnessState = PowerManager.BRIGHTNESS_INVALID_FLOAT;
} else if (brightnessState > PowerManager.BRIGHTNESS_MAX) {
brightnessState = PowerManager.BRIGHTNESS_MAX;