diff options
5 files changed, 16 insertions, 6 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 8b4fdc19a73e..4d19161944fd 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1803,6 +1803,9 @@ <array name="config_screenThresholdLevels"> </array> + <!-- Allow normal brightness controller feature. --> + <bool name="config_allowNormalBrightnessControllerFeature">false</bool> + <!-- Array of hysteresis constraint values for brightening, represented as tenths of a percent. The length of this array is assumed to be one greater than config_screenThresholdLevels. The brightening threshold is calculated as diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 40ef04efec24..99559e519897 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1948,6 +1948,7 @@ <java-symbol type="bool" name="config_usbChargingMessage" /> <java-symbol type="bool" name="config_skipScreenOnBrightnessRamp" /> <java-symbol type="bool" name="config_allowAutoBrightnessWhileDozing" /> + <java-symbol type="bool" name="config_allowNormalBrightnessControllerFeature" /> <java-symbol type="bool" name="config_allowTheaterModeWakeFromUnplug" /> <java-symbol type="bool" name="config_allowTheaterModeWakeFromGesture" /> <java-symbol type="bool" name="config_allowTheaterModeWakeFromCameraLens" /> diff --git a/services/core/java/com/android/server/display/BrightnessRangeController.java b/services/core/java/com/android/server/display/BrightnessRangeController.java index 4bfc09075448..7b8b4610112d 100644 --- a/services/core/java/com/android/server/display/BrightnessRangeController.java +++ b/services/core/java/com/android/server/display/BrightnessRangeController.java @@ -16,10 +16,12 @@ package com.android.server.display; +import android.content.res.Resources; import android.hardware.display.BrightnessInfo; import android.os.IBinder; import android.provider.DeviceConfigInterface; +import com.android.internal.R; import com.android.server.display.feature.DeviceConfigParameterProvider; import java.io.PrintWriter; @@ -33,20 +35,24 @@ class BrightnessRangeController { private final Runnable mModeChangeCallback; private final boolean mUseNbmController; + private Resources mResources; BrightnessRangeController(HighBrightnessModeController hbmController, - Runnable modeChangeCallback, DisplayDeviceConfig displayDeviceConfig) { + Runnable modeChangeCallback, DisplayDeviceConfig displayDeviceConfig, + Resources resources) { this(hbmController, modeChangeCallback, displayDeviceConfig, - new DeviceConfigParameterProvider(DeviceConfigInterface.REAL)); + new DeviceConfigParameterProvider(DeviceConfigInterface.REAL), resources); } BrightnessRangeController(HighBrightnessModeController hbmController, Runnable modeChangeCallback, DisplayDeviceConfig displayDeviceConfig, - DeviceConfigParameterProvider configParameterProvider) { + DeviceConfigParameterProvider configParameterProvider, Resources resources) { mHbmController = hbmController; mModeChangeCallback = modeChangeCallback; - mUseNbmController = configParameterProvider.isNormalBrightnessControllerFeatureEnabled(); + mResources = resources; + mUseNbmController = configParameterProvider.isNormalBrightnessControllerFeatureEnabled() || + resources.getBoolean(R.bool.config_allowNormalBrightnessControllerFeature); mNormalBrightnessModeController.resetNbmData(displayDeviceConfig.getLuxThrottlingData()); } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index e8a954ac8fc6..94904caf5751 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -675,7 +675,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call HighBrightnessModeController hbmController = createHbmControllerLocked(modeChangeCallback); mBrightnessRangeController = new BrightnessRangeController(hbmController, - modeChangeCallback, mDisplayDeviceConfig); + modeChangeCallback, mDisplayDeviceConfig, resources); 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 7558c6ab53c2..e849f7c97236 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController2.java +++ b/services/core/java/com/android/server/display/DisplayPowerController2.java @@ -548,7 +548,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mBrightnessThrottler = createBrightnessThrottlerLocked(); mBrightnessRangeController = new BrightnessRangeController(hbmController, - modeChangeCallback, mDisplayDeviceConfig); + modeChangeCallback, mDisplayDeviceConfig, resources); mDisplayBrightnessController = new DisplayBrightnessController(context, null, |