From 710db6d0a08e2527495aee8eb1ab8432ad4fc439 Mon Sep 17 00:00:00 2001 From: z30053694 Date: Tue, 10 Sep 2024 21:16:35 +0800 Subject: [PATCH] cherry pick af4a6f0 from https://gitee.com/z30053694/powermgr_display_manager/pulls/487 fix: brightness issue caused by screen off interruption Signed-off-by: z30053694 Change-Id: I4fb2de4c46520f3912ef6c470224979528b4395e --- .../service/native/src/display_power_mgr_service.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/state_manager/service/native/src/display_power_mgr_service.cpp b/state_manager/service/native/src/display_power_mgr_service.cpp index 92dbb29..e8fe57d 100644 --- a/state_manager/service/native/src/display_power_mgr_service.cpp +++ b/state_manager/service/native/src/display_power_mgr_service.cpp @@ -243,7 +243,12 @@ bool DisplayPowerMgrService::SetDisplayState(uint32_t id, DisplayState state, ui if (state == DisplayState::DISPLAY_OFF) { if (!isDisplayDelayOff_) { DISPLAY_HILOGI(COMP_SVC, "screen off immediately"); - return iterator->second->UpdateState(state, reason); + bool ret = iterator->second->UpdateState(state, reason); + if (!ret) { + DISPLAY_HILOGI(COMP_SVC, "[UL_POWER]undo brightness SetDisplayState"); + BrightnessManager::Get().SetDisplayState(id, iterator->second->GetState()); + } + return ret; } displayId_ = id; displayState_ = state; -- Gitee