From fe853c891a0b2fba6b9952dfab1af5ef90faadb3 Mon Sep 17 00:00:00 2001 From: volcano6322 Date: Thu, 3 Aug 2023 13:13:13 +0000 Subject: [PATCH 1/2] fix: To solve the problem of turning on and off the screen Signed-off-by: volcano6322 --- service/native/include/display_system_ability.h | 2 +- service/native/src/display_system_ability.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/service/native/include/display_system_ability.h b/service/native/include/display_system_ability.h index ca90799..2a868db 100644 --- a/service/native/include/display_system_ability.h +++ b/service/native/include/display_system_ability.h @@ -40,4 +40,4 @@ private: }; } } -#endif \ No newline at end of file +#endif diff --git a/service/native/src/display_system_ability.cpp b/service/native/src/display_system_ability.cpp index 489a384..6aa4e3b 100644 --- a/service/native/src/display_system_ability.cpp +++ b/service/native/src/display_system_ability.cpp @@ -27,6 +27,9 @@ REGISTER_SYSTEM_ABILITY_BY_ID(DisplaySystemAbility, DISPLAY_MANAGER_SERVICE_ID, } void DisplaySystemAbility::OnStart() { + DISPLAY_HILOGE(COMP_SVC, "Add DISPLAY_MANAGER_SERVICE_SA_ID Listener."); + AddSystemAbilityListener(DISPLAY_MANAGER_SERVICE_SA_ID); + DISPLAY_HILOGI(COMP_SVC, "Start service"); auto service = DelayedSpSingleton::GetInstance(); service->Init(); @@ -42,4 +45,4 @@ void DisplaySystemAbility::OnStop() service->Deinit(); } } // OHOS -} // DisplayPowerMgr \ No newline at end of file +} // DisplayPowerMgr -- Gitee From ae2b0486db751ae5b66deca0958eee8fdbfebfdb Mon Sep 17 00:00:00 2001 From: volcano6322 Date: Mon, 7 Aug 2023 02:37:23 +0000 Subject: [PATCH 2/2] fix: To solve the problem of turning off the screen when init Signed-off-by: volcano6322 --- .../native/include/display_system_ability.h | 1 + service/native/src/display_system_ability.cpp | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/service/native/include/display_system_ability.h b/service/native/include/display_system_ability.h index 2a868db..f03f38f 100644 --- a/service/native/include/display_system_ability.h +++ b/service/native/include/display_system_ability.h @@ -34,6 +34,7 @@ public: void OnStart() override; void OnStop() override; + virtual void OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId) override; private: sptr service_; diff --git a/service/native/src/display_system_ability.cpp b/service/native/src/display_system_ability.cpp index 6aa4e3b..8d16c1d 100644 --- a/service/native/src/display_system_ability.cpp +++ b/service/native/src/display_system_ability.cpp @@ -27,14 +27,19 @@ REGISTER_SYSTEM_ABILITY_BY_ID(DisplaySystemAbility, DISPLAY_MANAGER_SERVICE_ID, } void DisplaySystemAbility::OnStart() { - DISPLAY_HILOGE(COMP_SVC, "Add DISPLAY_MANAGER_SERVICE_SA_ID Listener."); + DISPLAY_HILOGI(COMP_SVC, "DisplayPowerService On Start."); AddSystemAbilityListener(DISPLAY_MANAGER_SERVICE_SA_ID); +} - DISPLAY_HILOGI(COMP_SVC, "Start service"); - auto service = DelayedSpSingleton::GetInstance(); - service->Init(); - if (!Publish(service)) { - DISPLAY_HILOGE(COMP_SVC, "Failed to publish service"); +void DisplaySystemAbility::OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId) +{ + if (systemAbilityId == DISPLAY_MANAGER_SERVICE_SA_ID) { + DISPLAY_HILOGI(COMP_SVC, "Start service"); + auto service = DelayedSpSingleton::GetInstance(); + service->Init(); + if (!Publish(service)) { + DISPLAY_HILOGE(COMP_SVC, "Failed to publish service"); + } } } @@ -43,6 +48,7 @@ void DisplaySystemAbility::OnStop() DISPLAY_HILOGW(COMP_SVC, "Stop service"); auto service = DelayedSpSingleton::GetInstance(); service->Deinit(); + RemoveSystemAbilityListener(DISPLAY_MANAGER_SERVICE_SA_ID); } } // OHOS } // DisplayPowerMgr -- Gitee