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
This commit is contained in:
Santos Cordon
2021-05-04 16:05:55 +01:00
parent 01b6dd29ff
commit c42fe309a1

View File

@@ -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,