Loading core/java/android/provider/Settings.java +17 −0 Original line number Diff line number Diff line Loading @@ -9605,6 +9605,23 @@ public final class Settings { */ public static final String EM_VALUE = "em_value"; /** * Setting that specifies whether High Dynamic Range brightness is enabled. * * @hide */ public static final String HDR_BRIGHTNESS_ENABLED = "hdr_brightness_enabled"; /** * Setting that specifies the intensity of the High Dynamic Range brightness. The range is * [0, 1], which is which is used to scale the HDR/SDR ratio. * * @hide */ public static final String HDR_BRIGHTNESS_BOOST_LEVEL = "hdr_brightness_boost_level"; /** * List of the enabled print services. * Loading packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +2 −0 Original line number Diff line number Diff line Loading @@ -313,5 +313,7 @@ public class SecureSettings { Settings.Secure.SELECTED_SPELL_CHECKER, // SELECTED_SPELL_CHECKER_SUBTYPE needs to be restored after SELECTED_SPELL_CHECKER Settings.Secure.SELECTED_SPELL_CHECKER_SUBTYPE, Settings.Secure.HDR_BRIGHTNESS_ENABLED, Settings.Secure.HDR_BRIGHTNESS_BOOST_LEVEL, }; } packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +2 −0 Original line number Diff line number Diff line Loading @@ -491,5 +491,7 @@ public class SecureSettingsValidators { VALIDATORS.put(Secure.SELECTED_SPELL_CHECKER_SUBTYPE, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Secure.PACK_THEME_FEATURE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.SUGGESTED_THEME_FEATURE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.HDR_BRIGHTNESS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.HDR_BRIGHTNESS_BOOST_LEVEL, new InclusiveFloatRangeValidator(0, 1)); } } services/core/java/com/android/server/display/DisplayDeviceConfig.java +8 −4 Original line number Diff line number Diff line Loading @@ -1222,9 +1222,11 @@ public class DisplayDeviceConfig { * * @return the HDR brightness or BRIGHTNESS_INVALID when no mapping exists. */ public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio) { public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio, float ratioScaleFactor) { Spline sdrToHdrSpline = mHbmData != null ? mHbmData.sdrToHdrRatioSpline : null; return getHdrBrightnessFromSdr(brightness, maxDesiredHdrSdrRatio, sdrToHdrSpline); return getHdrBrightnessFromSdr(brightness, maxDesiredHdrSdrRatio, ratioScaleFactor, sdrToHdrSpline); } /** Loading @@ -1235,7 +1237,7 @@ public class DisplayDeviceConfig { * @return the HDR brightness or BRIGHTNESS_INVALID when no mapping exists. */ public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio, @Nullable Spline sdrToHdrSpline) { float ratioScaleFactor, @Nullable Spline sdrToHdrSpline) { if (sdrToHdrSpline == null) { return PowerManager.BRIGHTNESS_INVALID; } Loading @@ -1246,7 +1248,9 @@ public class DisplayDeviceConfig { return PowerManager.BRIGHTNESS_INVALID; } float ratio = Math.min(sdrToHdrSpline.interpolate(nits), maxDesiredHdrSdrRatio); float rawRatio = sdrToHdrSpline.interpolate(nits); float scaledRatio = (rawRatio - 1) * ratioScaleFactor + 1; float ratio = Math.min(scaledRatio, maxDesiredHdrSdrRatio); float hdrNits = nits * ratio; if (getNitsToBacklightSpline() == null) { return PowerManager.BRIGHTNESS_INVALID; Loading services/core/java/com/android/server/display/DisplayPowerController.java +4 −2 Original line number Diff line number Diff line Loading @@ -2082,9 +2082,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call final DisplayDeviceInfo info = mDisplayDevice.getDisplayDeviceInfoLocked(); return mInjector.getHighBrightnessModeController(mHandler, info.width, info.height, displayToken, displayUniqueId, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, hbmData, (sdrBrightness, maxDesiredHdrSdrRatio) -> PowerManager.BRIGHTNESS_MAX, hbmData, (sdrBrightness, maxDesiredHdrSdrRatio, ratioScaleFactor) -> mDisplayDeviceConfig.getHdrBrightnessFromSdr(sdrBrightness, maxDesiredHdrSdrRatio), modeChangeCallback, hbmMetadata, mContext); maxDesiredHdrSdrRatio, ratioScaleFactor), modeChangeCallback, hbmMetadata, mContext); } private void blockScreenOn() { Loading Loading
core/java/android/provider/Settings.java +17 −0 Original line number Diff line number Diff line Loading @@ -9605,6 +9605,23 @@ public final class Settings { */ public static final String EM_VALUE = "em_value"; /** * Setting that specifies whether High Dynamic Range brightness is enabled. * * @hide */ public static final String HDR_BRIGHTNESS_ENABLED = "hdr_brightness_enabled"; /** * Setting that specifies the intensity of the High Dynamic Range brightness. The range is * [0, 1], which is which is used to scale the HDR/SDR ratio. * * @hide */ public static final String HDR_BRIGHTNESS_BOOST_LEVEL = "hdr_brightness_boost_level"; /** * List of the enabled print services. * Loading
packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +2 −0 Original line number Diff line number Diff line Loading @@ -313,5 +313,7 @@ public class SecureSettings { Settings.Secure.SELECTED_SPELL_CHECKER, // SELECTED_SPELL_CHECKER_SUBTYPE needs to be restored after SELECTED_SPELL_CHECKER Settings.Secure.SELECTED_SPELL_CHECKER_SUBTYPE, Settings.Secure.HDR_BRIGHTNESS_ENABLED, Settings.Secure.HDR_BRIGHTNESS_BOOST_LEVEL, }; }
packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +2 −0 Original line number Diff line number Diff line Loading @@ -491,5 +491,7 @@ public class SecureSettingsValidators { VALIDATORS.put(Secure.SELECTED_SPELL_CHECKER_SUBTYPE, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Secure.PACK_THEME_FEATURE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.SUGGESTED_THEME_FEATURE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.HDR_BRIGHTNESS_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.HDR_BRIGHTNESS_BOOST_LEVEL, new InclusiveFloatRangeValidator(0, 1)); } }
services/core/java/com/android/server/display/DisplayDeviceConfig.java +8 −4 Original line number Diff line number Diff line Loading @@ -1222,9 +1222,11 @@ public class DisplayDeviceConfig { * * @return the HDR brightness or BRIGHTNESS_INVALID when no mapping exists. */ public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio) { public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio, float ratioScaleFactor) { Spline sdrToHdrSpline = mHbmData != null ? mHbmData.sdrToHdrRatioSpline : null; return getHdrBrightnessFromSdr(brightness, maxDesiredHdrSdrRatio, sdrToHdrSpline); return getHdrBrightnessFromSdr(brightness, maxDesiredHdrSdrRatio, ratioScaleFactor, sdrToHdrSpline); } /** Loading @@ -1235,7 +1237,7 @@ public class DisplayDeviceConfig { * @return the HDR brightness or BRIGHTNESS_INVALID when no mapping exists. */ public float getHdrBrightnessFromSdr(float brightness, float maxDesiredHdrSdrRatio, @Nullable Spline sdrToHdrSpline) { float ratioScaleFactor, @Nullable Spline sdrToHdrSpline) { if (sdrToHdrSpline == null) { return PowerManager.BRIGHTNESS_INVALID; } Loading @@ -1246,7 +1248,9 @@ public class DisplayDeviceConfig { return PowerManager.BRIGHTNESS_INVALID; } float ratio = Math.min(sdrToHdrSpline.interpolate(nits), maxDesiredHdrSdrRatio); float rawRatio = sdrToHdrSpline.interpolate(nits); float scaledRatio = (rawRatio - 1) * ratioScaleFactor + 1; float ratio = Math.min(scaledRatio, maxDesiredHdrSdrRatio); float hdrNits = nits * ratio; if (getNitsToBacklightSpline() == null) { return PowerManager.BRIGHTNESS_INVALID; Loading
services/core/java/com/android/server/display/DisplayPowerController.java +4 −2 Original line number Diff line number Diff line Loading @@ -2082,9 +2082,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call final DisplayDeviceInfo info = mDisplayDevice.getDisplayDeviceInfoLocked(); return mInjector.getHighBrightnessModeController(mHandler, info.width, info.height, displayToken, displayUniqueId, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, hbmData, (sdrBrightness, maxDesiredHdrSdrRatio) -> PowerManager.BRIGHTNESS_MAX, hbmData, (sdrBrightness, maxDesiredHdrSdrRatio, ratioScaleFactor) -> mDisplayDeviceConfig.getHdrBrightnessFromSdr(sdrBrightness, maxDesiredHdrSdrRatio), modeChangeCallback, hbmMetadata, mContext); maxDesiredHdrSdrRatio, ratioScaleFactor), modeChangeCallback, hbmMetadata, mContext); } private void blockScreenOn() { Loading