diff --git a/service/native/src/screen_action.cpp b/service/native/src/screen_action.cpp index a37fb2b7db538cc88cdc1a68ca3b4a7f75e864b2..cd101c82c402606d130e72c3d383d2c3b5f12b92 100644 --- a/service/native/src/screen_action.cpp +++ b/service/native/src/screen_action.cpp @@ -119,26 +119,38 @@ bool ScreenAction::SetPowerState(uint32_t devId, DisplayState state) uint32_t ScreenAction::GetBrightness(uint32_t devId) { - uint32_t level = 0; - if (!hdiFuncs_) { - DISPLAY_HILOGE(MODULE_SERVICE, "GetBrightness:Invalid device functions"); + auto wmsc = WindowManagerServiceClient::GetInstance(); + wmsc->Init(); + sptr wms = wmsc->GetService(); + if (wms == nullptr) { + DISPLAY_HILOGE(MODULE_SERVICE, "FAILED to get service from WindowManager Client"); return 0; } - int32_t hdiRet = hdiFuncs_->GetDisplayBacklight(devId, &level); - if (hdiRet != DISPLAY_SUCCESS) { - DISPLAY_HILOGE(MODULE_SERVICE, "GetBrightness failed:%d", level); + auto promise = wms->GetDisplayBacklight(devId)->Await(); + if (promise.wret != WM_OK) { + DISPLAY_HILOGE(MODULE_SERVICE, "GetBrightness failed: %{public}d", promise.wret); return 0; } - return level; + + return promise.level; } bool ScreenAction::SetBrightness(uint32_t devId, uint32_t value) { - if (!hdiFuncs_) { - DISPLAY_HILOGE(MODULE_SERVICE, "SetBrightness: Invalid device functions"); + auto wmsc = WindowManagerServiceClient::GetInstance(); + wmsc->Init(); + sptr wms = wmsc->GetService(); + if (wms == nullptr) { + DISPLAY_HILOGE(MODULE_SERVICE, "FAILED to get service from WindowManager Client"); + return false; + } + auto wret = wms->SetDisplayBacklight(devId, value)->Await(); + if (wret != WM_OK) { + DISPLAY_HILOGE(MODULE_SERVICE, "SetBrightness failed: %{public}d", wret); return false; } - return hdiFuncs_->SetDisplayBacklight(devId, GetValidBrightness(value)) == DISPLAY_SUCCESS; + + return true; } } // namespace DisplayPowerMgr } // namespace OHOS diff --git a/test/native/unittest/src/display_power_mgr_service_test.cpp b/test/native/unittest/src/display_power_mgr_service_test.cpp index 0ef9d66cc597c2a9e7b16498f43a785ec19df6b3..ff3cc9e203e93c40b30babf0bb1007dfff953084 100644 --- a/test/native/unittest/src/display_power_mgr_service_test.cpp +++ b/test/native/unittest/src/display_power_mgr_service_test.cpp @@ -33,13 +33,10 @@ namespace { */ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService01, TestSize.Level0) { -#ifdef IPC_AVAILABLE sptr sam = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); EXPECT_TRUE(sam != nullptr) << "DisplayPowerMgrService01 fail to get GetSystemAbilityManager"; sptr remoteObject_ = sam->CheckSystemAbility(DISPLAY_MANAGER_SERVICE_ID); EXPECT_TRUE(remoteObject_ != nullptr) << "GetSystemAbility failed."; -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** @@ -49,12 +46,9 @@ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService01, TestSize.Level0) */ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService002, TestSize.Level0) { -#ifdef IPC_AVAILABLE auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_OFF); sleep(5); EXPECT_TRUE(ret); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** @@ -64,98 +58,146 @@ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService002, TestSize.Level0) */ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService003, TestSize.Level0) { -#ifdef IPC_AVAILABLE auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_ON); sleep(5); EXPECT_TRUE(ret); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** * @tc.name: DisplayPowerMgrService004 - * @tc.desc: Test set brightness + * @tc.desc: Test set screen state dim * @tc.type: FUNC */ HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService004, TestSize.Level0) { -#ifdef IPC_AVAILABLE + auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_DIM); + sleep(5); + EXPECT_TRUE(ret); +} + +/** + * @tc.name: DisplayPowerMgrService005 + * @tc.desc: Test set screen state suspend + * @tc.type: FUNC + */ +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService005, TestSize.Level0) +{ + auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_SUSPEND); + sleep(5); + EXPECT_TRUE(ret); +} + +/** + * @tc.name: DisplayPowerMgrService006 + * @tc.desc: Test set screen state unknown + * @tc.type: FUNC + */ +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService006, TestSize.Level0) +{ + auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_UNKNOWN); + sleep(5); + EXPECT_TRUE(ret); +} + +/** + * @tc.name: DisplayPowerMgrService007 + * @tc.desc: Test set brightness + * @tc.type: FUNC + */ +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService007, TestSize.Level0) +{ + DISPLAY_HILOGI(MODULE_SERVICE, "SetBrightness: fun is start"); + DISPLAY_HILOGI(MODULE_SERVICE, "SetBrightness: set 5"); auto ret = DisplayPowerMgrClient::GetInstance().SetBrightness(5); sleep(5); EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "SetBrightness: set 155"); + ret = DisplayPowerMgrClient::GetInstance().SetBrightness(155); + sleep(5); + EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "SetBrightness: set 255"); ret = DisplayPowerMgrClient::GetInstance().SetBrightness(255); sleep(5); EXPECT_TRUE(ret); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** - * @tc.name: DisplayPowerMgrService005 + * @tc.name: DisplayPowerMgrService008 * @tc.desc: Test set screen state on * @tc.type: FUNC */ -HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService005, TestSize.Level0) +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService008, TestSize.Level0) { -#ifdef IPC_AVAILABLE + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService008: fun is start"); auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_ON); sleep(5); EXPECT_TRUE(ret); DisplayState state = DisplayPowerMgrClient::GetInstance().GetDisplayState(); EXPECT_TRUE(state == DisplayState::DISPLAY_ON); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** - * @tc.name: DisplayPowerMgrService006 + * @tc.name: DisplayPowerMgrService009 * @tc.desc: Test set screen state dim * @tc.type: FUNC */ -HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService006, TestSize.Level0) +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService009, TestSize.Level0) { -#ifdef IPC_AVAILABLE + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService009: fun is start"); auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_DIM); sleep(5); EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService009: GetDisplayState"); DisplayState state = DisplayPowerMgrClient::GetInstance().GetDisplayState(); EXPECT_TRUE(state == DisplayState::DISPLAY_DIM); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** - * @tc.name: DisplayPowerMgrService007 + * @tc.name: DisplayPowerMgrService0010 * @tc.desc: Test set screen state off * @tc.type: FUNC */ -HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService007, TestSize.Level0) +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService010, TestSize.Level0) { -#ifdef IPC_AVAILABLE + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService010: fun is start"); auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_OFF); sleep(5); EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService010: GetDisplayState"); DisplayState state = DisplayPowerMgrClient::GetInstance().GetDisplayState(); EXPECT_TRUE(state == DisplayState::DISPLAY_OFF); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); } /** - * @tc.name: DisplayPowerMgrService008 + * @tc.name: DisplayPowerMgrService011 * @tc.desc: Test set screen state suspend * @tc.type: FUNC */ -HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService008, TestSize.Level0) +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService011, TestSize.Level0) { -#ifdef IPC_AVAILABLE + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService011: fun is start"); auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_SUSPEND); sleep(5); EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService011: GetDisplayState"); DisplayState state = DisplayPowerMgrClient::GetInstance().GetDisplayState(); EXPECT_TRUE(state == DisplayState::DISPLAY_SUSPEND); -#endif // IPC_AVAILABLE - EXPECT_TRUE(true); +} + +/** + * @tc.name: DisplayPowerMgrService012 + * @tc.desc: Test set screen state unknow + * @tc.type: FUNC + */ +HWTEST_F(DisplayPowerMgrServiceTest, DisplayPowerMgrService012, TestSize.Level0) +{ + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService012: fun is start"); + auto ret = DisplayPowerMgrClient::GetInstance().SetDisplayState(DisplayState::DISPLAY_UNKNOWN); + sleep(5); + EXPECT_TRUE(ret); + DISPLAY_HILOGI(MODULE_SERVICE, "DisplayPowerMgrService012: GetDisplayState"); + DisplayState state = DisplayPowerMgrClient::GetInstance().GetDisplayState(); + EXPECT_TRUE(state == DisplayState::DISPLAY_UNKNOWN); } } \ No newline at end of file