From 1f04a112250e19ef2499322d7fa2195dd74483b3 Mon Sep 17 00:00:00 2001 From: Oleg Petsjonkin Date: Wed, 19 Jul 2023 10:33:47 +0000 Subject: [PATCH] NBMController should load DDC data on creation HBMController loads DDC in constructor, NBMController sholud do the same (otherwise there will be no lux throttling data before onDisplayChange event) Please note, Clampers already handing it properly see where BrightnessClampersController is constructed. Bug: b/277877293 Test: hardcode DisplayDeviceConfig.mLuxThrotllingData, use adb shell dumpsys display to verify that NBMController.mBrightnessLimits is set Change-Id: I16a31665d963ab0917c4f7be173134b37e0613e7 --- .../android/server/display/BrightnessRangeController.java | 8 +++++--- .../android/server/display/DisplayPowerController.java | 2 +- .../android/server/display/DisplayPowerController2.java | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/display/BrightnessRangeController.java b/services/core/java/com/android/server/display/BrightnessRangeController.java index 5b11cfe7ff06e..4bfc090754489 100644 --- a/services/core/java/com/android/server/display/BrightnessRangeController.java +++ b/services/core/java/com/android/server/display/BrightnessRangeController.java @@ -36,16 +36,18 @@ class BrightnessRangeController { BrightnessRangeController(HighBrightnessModeController hbmController, - Runnable modeChangeCallback) { - this(hbmController, modeChangeCallback, + Runnable modeChangeCallback, DisplayDeviceConfig displayDeviceConfig) { + this(hbmController, modeChangeCallback, displayDeviceConfig, new DeviceConfigParameterProvider(DeviceConfigInterface.REAL)); } BrightnessRangeController(HighBrightnessModeController hbmController, - Runnable modeChangeCallback, DeviceConfigParameterProvider configParameterProvider) { + Runnable modeChangeCallback, DisplayDeviceConfig displayDeviceConfig, + DeviceConfigParameterProvider configParameterProvider) { mHbmController = hbmController; mModeChangeCallback = modeChangeCallback; mUseNbmController = configParameterProvider.isNormalBrightnessControllerFeatureEnabled(); + mNormalBrightnessModeController.resetNbmData(displayDeviceConfig.getLuxThrottlingData()); } void dump(PrintWriter pw) { diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index c5d0c177a46d3..c9d36b5ba90a1 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -673,7 +673,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call HighBrightnessModeController hbmController = createHbmControllerLocked(modeChangeCallback); mBrightnessRangeController = new BrightnessRangeController(hbmController, - modeChangeCallback); + modeChangeCallback, mDisplayDeviceConfig); mBrightnessThrottler = createBrightnessThrottlerLocked(); diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java index 029616cef95ef..33171d4ad77f3 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController2.java +++ b/services/core/java/com/android/server/display/DisplayPowerController2.java @@ -550,7 +550,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mBrightnessThrottler = createBrightnessThrottlerLocked(); mBrightnessRangeController = new BrightnessRangeController(hbmController, - modeChangeCallback); + modeChangeCallback, mDisplayDeviceConfig); mDisplayBrightnessController = new DisplayBrightnessController(context, null,