diff --git a/services/ans/src/advanced_notification_service_ability.cpp b/services/ans/src/advanced_notification_service_ability.cpp index b0e410cb36427ecdc2ebf7e887bc6bda6369c8e1..da5f6496cabbbc503283e04bd13660b0eb4315a8 100644 --- a/services/ans/src/advanced_notification_service_ability.cpp +++ b/services/ans/src/advanced_notification_service_ability.cpp @@ -64,7 +64,6 @@ void AdvancedNotificationServiceAbility::OnStart() TEL_EXTENTION_WRAPPER->InitTelExtentionWrapper(); #endif AddSystemAbilityListener(DISTRIBUTED_HARDWARE_DEVICEMANAGER_SA_ID); - LIVEVIEW_ALL_SCENARIOS_EXTENTION_WRAPPER->InitExtentionWrapper(); } void AdvancedNotificationServiceAbility::OnStop() diff --git a/services/ans/src/liveview_all_scenarios_extension_wrapper.cpp b/services/ans/src/liveview_all_scenarios_extension_wrapper.cpp index b5cb419d4145a5378df2fdc6e18e497031643f4e..392d5335cf1af13116c7261ee633de4a9c503e4c 100644 --- a/services/ans/src/liveview_all_scenarios_extension_wrapper.cpp +++ b/services/ans/src/liveview_all_scenarios_extension_wrapper.cpp @@ -20,8 +20,14 @@ namespace OHOS::Notification { const std::string EXTENTION_LIVEVIEW_ALL_SCENARIOS_PATH = "libliveview.z.so"; -LiveviewAllScenariosExtensionWrapper::LiveviewAllScenariosExtensionWrapper() = default; -LiveviewAllScenariosExtensionWrapper::~LiveviewAllScenariosExtensionWrapper() = default; +LiveviewAllScenariosExtensionWrapper::LiveviewAllScenariosExtensionWrapper() +{ + InitExtentionWrapper(); +} +LiveviewAllScenariosExtensionWrapper::~LiveviewAllScenariosExtensionWrapper() +{ + CloseExtentionWrapper(); +} void LiveviewAllScenariosExtensionWrapper::InitExtentionWrapper() { @@ -55,7 +61,10 @@ void LiveviewAllScenariosExtensionWrapper::CloseExtentionWrapper() if (ExtensionHandle_ != nullptr) { dlclose(ExtensionHandle_); ExtensionHandle_ = nullptr; + updateLiveviewReminderFlags_ = nullptr; + updateLiveviewVoiceContent_ = nullptr; } + ANS_LOGI("liveview all scenarios extension wrapper close success"); } ErrCode LiveviewAllScenariosExtensionWrapper::UpdateLiveviewReminderFlags(const sptr &request) diff --git a/services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp b/services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp index 7d4112e565a983e2e12bfec6c18a7e3f86f2bf42..944310a1b9512b1e81be6b108877f7055bacc594 100644 --- a/services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp +++ b/services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp @@ -20,8 +20,15 @@ namespace OHOS::Notification { const std::string DISTRIBUTED_EXTENTION_LIVEVIEW_ALL_SCENARIOS_PATH = "libliveview.z.so"; -DistributedLiveviewAllScenariosExtensionWrapper::DistributedLiveviewAllScenariosExtensionWrapper() = default; -DistributedLiveviewAllScenariosExtensionWrapper::~DistributedLiveviewAllScenariosExtensionWrapper() = default; +DistributedLiveviewAllScenariosExtensionWrapper::DistributedLiveviewAllScenariosExtensionWrapper() +{ + InitExtentionWrapper(); +} + +DistributedLiveviewAllScenariosExtensionWrapper::~DistributedLiveviewAllScenariosExtensionWrapper() +{ + CloseExtentionWrapper(); +} void DistributedLiveviewAllScenariosExtensionWrapper::InitExtentionWrapper() { @@ -60,7 +67,11 @@ void DistributedLiveviewAllScenariosExtensionWrapper::CloseExtentionWrapper() if (ExtensionHandle_ != nullptr) { dlclose(ExtensionHandle_); ExtensionHandle_ = nullptr; + triggerHandler_ = nullptr; + updateLiveviewEncodeContent_ = nullptr; + updateLiveviewDecodeContent_ = nullptr; } + ANS_LOGI("distributed liveview all scenarios extension wrapper close success"); } ErrCode DistributedLiveviewAllScenariosExtensionWrapper::UpdateLiveviewEncodeContent( diff --git a/services/distributed/src/soft_bus/distributed_manager.cpp b/services/distributed/src/soft_bus/distributed_manager.cpp index ba9e3910d10b1ce7a0eb23ec685e5e602c795cfe..b5af3472e5e4277ea11d1c69a13ed69db3406f16 100644 --- a/services/distributed/src/soft_bus/distributed_manager.cpp +++ b/services/distributed/src/soft_bus/distributed_manager.cpp @@ -45,7 +45,6 @@ int32_t DistributedManager::InitLocalDevice(const std::string &deviceId, uint16_ const DistributedDeviceConfig config) { ANS_LOGI("InitLocalDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); - DISTRIBUTED_LIVEVIEW_ALL_SCENARIOS_EXTENTION_WRAPPER->InitExtentionWrapper(); DistributedLocalConfig::GetInstance().SetLocalDevice(config); return DistributedService::GetInstance().InitService(deviceId, deviceType); } @@ -63,7 +62,6 @@ void DistributedManager::AddDevice(const std::string &deviceId, uint16_t deviceT void DistributedManager::ReleaseDevice(const std::string &deviceId, uint16_t deviceType) { ANS_LOGI("ReleaseDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); - DISTRIBUTED_LIVEVIEW_ALL_SCENARIOS_EXTENTION_WRAPPER->CloseExtentionWrapper(); DistributedClient::GetInstance().ReleaseDevice(deviceId, deviceType); DistributedService::GetInstance().UnSubscribeNotifictaion(deviceId, deviceType); }