diff --git a/brightness_manager/src/brightness_service.cpp b/brightness_manager/src/brightness_service.cpp index c7a1976872933957126d5e5ac53d35a0a98d9b31..3ea93137cce0112277167946be7b3ce552b51bd7 100644 --- a/brightness_manager/src/brightness_service.cpp +++ b/brightness_manager/src/brightness_service.cpp @@ -1196,18 +1196,18 @@ int BrightnessService::GetSensorIdWithDisplayMode(Rosen::FoldDisplayMode mode) bool BrightnessService::SetMaxBrightness(double value) { - int32_t intMaxValue = round(value * MAX_DEFAULT_BRGIHTNESS_LEVEL); - if (intMaxValue <= 0) { - intMaxValue = brightnessValueMin; + uint32_t maxValue = static_cast(value * MAX_DEFAULT_BRGIHTNESS_LEVEL); + if (maxValue == 0 || value < 0) { + maxValue = brightnessValueMin; } - if (intMaxValue == brightnessValueMax) { + if (maxValue == brightnessValueMax) { DISPLAY_HILOGI(FEAT_BRIGHTNESS, "SetMaxBrightness value=oldMax"); return true; } DISPLAY_HILOGI(FEAT_BRIGHTNESS, "SetMaxBrightness value=%{public}u, oldMax=%{public}u", - intMaxValue, brightnessValueMax); + maxValue, brightnessValueMax); brightnessValueMax = - (intMaxValue > MAX_DEFAULT_BRGIHTNESS_LEVEL ? MAX_DEFAULT_BRGIHTNESS_LEVEL : intMaxValue); + (maxValue > MAX_DEFAULT_BRGIHTNESS_LEVEL ? MAX_DEFAULT_BRGIHTNESS_LEVEL : maxValue); uint32_t currentBrightness = GetSettingBrightness(); if (brightnessValueMax < currentBrightness) { DISPLAY_HILOGI(FEAT_BRIGHTNESS, "SetMaxBrightness currentBrightness=%{public}u", currentBrightness);