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 5b15f587a51cf334444549c1a41ec46b5e312026..7cb9826f5dedd96803c03f6427fbf7bf362c90eb 100644 --- a/state_manager/service/native/src/display_power_mgr_service.cpp +++ b/state_manager/service/native/src/display_power_mgr_service.cpp @@ -164,6 +164,7 @@ void DisplayPowerMgrService::AutoBrightnessSettingUpdateFunc(const std::string& bool isSettingEnable = GetSettingAutoBrightness(key); bool isSystemEnable = DelayedSpSingleton::GetInstance()->IsAutoAdjustBrightness(); if (isSettingEnable == isSystemEnable) { + DISPLAY_HILOGI(FEAT_BRIGHTNESS, "no need change autoAdjustSwitch"); return; } DISPLAY_HILOGI(FEAT_BRIGHTNESS, "AutoBrightnessSettingUpdateFunc isSettingEnable=%{public}d", isSettingEnable); @@ -431,6 +432,7 @@ bool DisplayPowerMgrService::AutoAdjustBrightness(bool enable) return true; } autoBrightness_ = true; + BrightnessManager::Get().AutoAdjustBrightness(true); } else { DISPLAY_HILOGD(FEAT_BRIGHTNESS, "AutoAdjustBrightness disable"); if (!autoBrightness_) { @@ -438,6 +440,7 @@ bool DisplayPowerMgrService::AutoAdjustBrightness(bool enable) return true; } autoBrightness_ = false; + BrightnessManager::Get().AutoAdjustBrightness(false); } SetSettingAutoBrightness(enable); return true; diff --git a/state_manager/test/unittest/src/display_power_mgr_brightness_test.cpp b/state_manager/test/unittest/src/display_power_mgr_brightness_test.cpp index c21367aa02fb9788001b71e2844cb370f65d0fe1..a141be1318f09774e3c7a29067c085303fb55d5e 100644 --- a/state_manager/test/unittest/src/display_power_mgr_brightness_test.cpp +++ b/state_manager/test/unittest/src/display_power_mgr_brightness_test.cpp @@ -846,9 +846,13 @@ HWTEST_F(DisplayPowerMgrBrightnessTest, DisplayPowerMgrAdjustBrightness002, Test { DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrAdjustBrightness002: fun is start"); bool ret = DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(true); + //waiting to find correct isSettingEnable value + usleep(50000); if (ret) { DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrAdjustBrightness002: is supported"); ret = DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(false); + //waiting to find correct isSettingEnable value + usleep(50000); EXPECT_TRUE(ret); } else { DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrAdjustBrightness002: is not supported"); @@ -867,8 +871,12 @@ HWTEST_F(DisplayPowerMgrBrightnessTest, DisplayPowerMgrAdjustBrightness003, Test DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrAdjustBrightness003: fun is start"); bool ret = DisplayPowerMgrClient::GetInstance().IsAutoAdjustBrightness(); DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(false); + //waiting to find correct isSettingEnable value + usleep(50000); EXPECT_EQ(DisplayPowerMgrClient::GetInstance().IsAutoAdjustBrightness(), false); DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(ret); + //waiting to find correct isSettingEnable value + usleep(50000); DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrAdjustBrightness003: fun is end"); } @@ -883,6 +891,12 @@ HWTEST_F(DisplayPowerMgrBrightnessTest, DisplayPowerMgrScreenBrightnessEquality0 DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrScreenBrightnessEquality001: fun is start"); uint32_t deviceBrightness1 = DisplayPowerMgrClient::GetInstance().GetDeviceBrightness(); DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_OFF); + DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(true); + //waiting to find correct isSettingEnable value + usleep(50000); + DisplayPowerMgrClient::GetInstance().AutoAdjustBrightness(false); + //waiting to find correct isSettingEnable value + usleep(50000); DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_ON); uint32_t deviceBrightness2 = DisplayPowerMgrClient::GetInstance().GetDeviceBrightness(); EXPECT_EQ(deviceBrightness1, deviceBrightness2);