From c42fe309a19dba6e96d6727d5ce8694443a91f7b Mon Sep 17 00:00:00 2001 From: Santos Cordon Date: Tue, 4 May 2021 16:05:55 +0100 Subject: [PATCH] Better fix for non-SDR brightness. Bug: 186895034 Test: Manually verify that a device without nit-backlight mapping can still boot normally. Change-Id: I3c61777a6ed89384b1abc2b54b93b3e5c40fa905 --- .../java/com/android/server/display/LocalDisplayAdapter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java index e7f056261b70f..ec9bbf0e6db6e 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java @@ -790,7 +790,7 @@ final class LocalDisplayAdapter extends DisplayAdapter { try { final float backlight = brightnessToBacklight(brightness); float nits = NITS_INVALID; - float sdrBacklight = backlight; + float sdrBacklight = PowerManager.BRIGHTNESS_INVALID_FLOAT; float sdrNits = NITS_INVALID; if (getDisplayDeviceConfig().hasNitsMapping() && sdrBrightness != PowerManager.BRIGHTNESS_INVALID_FLOAT) { @@ -1306,7 +1306,8 @@ final class LocalDisplayAdapter extends DisplayAdapter { // Set backlight within min and max backlight values void setBacklight(float sdrBacklight, float sdrNits, float backlight, float nits) { if (mUseSurfaceControlBrightness || mForceSurfaceControl) { - if (sdrBacklight == PowerManager.BRIGHTNESS_INVALID_FLOAT) { + if (BrightnessSynchronizer.floatEquals( + sdrBacklight, PowerManager.BRIGHTNESS_INVALID_FLOAT)) { mSurfaceControlProxy.setDisplayBrightness(mDisplayToken, backlight); } else { mSurfaceControlProxy.setDisplayBrightness(mDisplayToken, sdrBacklight, sdrNits,