From 57af7c805c1912b005f4d522a1f698c49d31da3d Mon Sep 17 00:00:00 2001 From: Fiona Campbell Date: Thu, 2 Apr 2020 12:56:15 +0100 Subject: [PATCH] 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 --- .../java/com/android/server/display/DisplayManagerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index a23205124f74f..fa8b5569c42f0 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 @@ public final class DisplayManagerService extends SystemService { } 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;