From ffff51ea9cd70ef6c10262f34204ff5c632c58e0 Mon Sep 17 00:00:00 2001 From: xuedong Date: Thu, 28 Dec 2023 22:12:56 +0800 Subject: [PATCH] fix: RestoreBrightness was wrong value Signed-off-by: xuedong --- brightness_manager/include/brightness_service.h | 1 + brightness_manager/src/brightness_service.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/brightness_manager/include/brightness_service.h b/brightness_manager/include/brightness_service.h index 1a1d2da..5915612 100644 --- a/brightness_manager/include/brightness_service.h +++ b/brightness_manager/include/brightness_service.h @@ -184,6 +184,7 @@ private: std::atomic mIsBrightnessBoosted{false}; uint32_t mCachedSettingBrightness{DEFAULT_BRIGHTNESS}; uint32_t mOverriddenBrightness{DEFAULT_BRIGHTNESS}; + uint32_t mBeforeOverriddenBrightness{DEFAULT_BRIGHTNESS}; std::shared_ptr mAction{nullptr}; std::shared_ptr mDimmingCallback{nullptr}; std::shared_ptr mDimming; diff --git a/brightness_manager/src/brightness_service.cpp b/brightness_manager/src/brightness_service.cpp index 8827688..0f64c22 100644 --- a/brightness_manager/src/brightness_service.cpp +++ b/brightness_manager/src/brightness_service.cpp @@ -386,6 +386,11 @@ void BrightnessService::ProcessLightLux(float lux) void BrightnessService::UpdateCurrentBrightnessLevel(float lux, bool isFastDuration) { + if (!CanSetBrightness()) { + DISPLAY_HILOGW(FEAT_BRIGHTNESS, "Cannot UpdateCurrentBrightnessLevel, ignore the change"); + return; + } + uint32_t brightnessLevel = GetBrightnessLevel(lux); if (mBrightnessLevel != brightnessLevel) { uint32_t duration = DEFAULT_BRIGHTEN_DURATION; @@ -520,6 +525,7 @@ bool BrightnessService::OverrideBrightness(uint32_t value, uint32_t gradualDurat mIsBrightnessOverridden = true; } mOverriddenBrightness = value; + mBeforeOverriddenBrightness = GetSettingBrightness(); return UpdateBrightness(value, gradualDuration); } @@ -530,7 +536,7 @@ bool BrightnessService::RestoreBrightness(uint32_t gradualDuration) return false; } mIsBrightnessOverridden = false; - return UpdateBrightness(mCachedSettingBrightness, gradualDuration, true); + return UpdateBrightness(mBeforeOverriddenBrightness, gradualDuration, true); } bool BrightnessService::IsBrightnessOverridden() -- Gitee