From 37e4c3dc92616500f042181e62e04e273bdcb8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Mon, 26 Aug 2024 07:15:37 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E9=85=8D=E4=BB=B6=E9=9D=99=E9=BB=98=E5=8D=87=E7=BA=A7=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E5=8D=A1=E9=A1=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- .../sa_loader/include/base_service_kits_impl.h | 2 +- .../engine/include/update_service_kits_impl.h | 2 ++ .../engine/src/update_service_kits_impl.cpp | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/foundations/ability/sa_loader/include/base_service_kits_impl.h b/foundations/ability/sa_loader/include/base_service_kits_impl.h index c3e5ae02..5fc14df1 100644 --- a/foundations/ability/sa_loader/include/base_service_kits_impl.h +++ b/foundations/ability/sa_loader/include/base_service_kits_impl.h @@ -41,6 +41,7 @@ protected: sptr GetService(); void ResetRemoteService(); virtual void RegisterCallback(){}; + virtual void ResetService(const wptr &remote); protected: std::recursive_mutex remoteServerLock_; @@ -50,7 +51,6 @@ protected: private: void AddDeathRecipient(const sptr &object); - void ResetService(const wptr &remote); private: bool isNeedAddDeathRecipient_ = true; diff --git a/interfaces/inner_api/engine/include/update_service_kits_impl.h b/interfaces/inner_api/engine/include/update_service_kits_impl.h index 2409f2d0..f04b1105 100644 --- a/interfaces/inner_api/engine/include/update_service_kits_impl.h +++ b/interfaces/inner_api/engine/include/update_service_kits_impl.h @@ -88,12 +88,14 @@ public: protected: void RegisterCallback() override; + void ResetService(const wptr &remote) override; #ifndef UPDATER_UT private: #endif std::map> remoteUpdateCallbackMap_; UpgradeInfo upgradeInfo_{}; + int32_t retryTimes_ = 0; }; } // namespace OHOS::UpdateEngine #endif // UPDATE_SERVICE_KITS_IMPL_H diff --git a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp index ada4fe92..5179b010 100644 --- a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp +++ b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp @@ -270,4 +270,18 @@ void UpdateServiceKitsImpl::RegisterCallback() remoteServer_->RegisterUpdateCallback(iter.first, iter.second); } } + +void UpdateServiceKitsImpl::ResetService(const wptr &remote) +{ + BaseServiceKitsImpl::ResetService(remote); + constexpr int32_t retryMaxTimes = 3; + ENGINE_LOLGI("ResetService, remoteUpdateCallbackMap_: %{public}zu, retryTimes_: %{public}d", + remoteUpdateCallbackMap_.size(), retryTimes_); + if (!remoteUpdateCallbackMap_.empty() && retryTimes_ < retryMaxTimes) { + ENGINE_LOLGI("ResetService, need resume register callback"); + auto updateService = GetService(); // 重新连接注册回调 + retryTimes_++; + ENGINE_LOLGI("ResetService, reconnect service %{public}s", (updateService != nullptr) ? "success" : "fail"); + } +} } // namespace OHOS::UpdateEngine -- Gitee From 2e07ee9ce56182abf1a4eb575312ccab1ac7e5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Mon, 26 Aug 2024 09:11:09 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- interfaces/inner_api/engine/src/update_service_kits_impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp index 5179b010..bac18f2f 100644 --- a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp +++ b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp @@ -275,13 +275,13 @@ void UpdateServiceKitsImpl::ResetService(const wptr &remote) { BaseServiceKitsImpl::ResetService(remote); constexpr int32_t retryMaxTimes = 3; - ENGINE_LOLGI("ResetService, remoteUpdateCallbackMap_: %{public}zu, retryTimes_: %{public}d", + ENGINE_LOGI("ResetService, remoteUpdateCallbackMap_: %{public}zu, retryTimes_: %{public}d", remoteUpdateCallbackMap_.size(), retryTimes_); if (!remoteUpdateCallbackMap_.empty() && retryTimes_ < retryMaxTimes) { ENGINE_LOLGI("ResetService, need resume register callback"); auto updateService = GetService(); // 重新连接注册回调 retryTimes_++; - ENGINE_LOLGI("ResetService, reconnect service %{public}s", (updateService != nullptr) ? "success" : "fail"); + ENGINE_LOGI("ResetService, reconnect service %{public}s", (updateService != nullptr) ? "success" : "fail"); } } } // namespace OHOS::UpdateEngine -- Gitee From 8e8a0cdea0946709b55effd67549cb2da858defd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Mon, 26 Aug 2024 09:16:27 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- interfaces/inner_api/engine/src/update_service_kits_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp index bac18f2f..060b2888 100644 --- a/interfaces/inner_api/engine/src/update_service_kits_impl.cpp +++ b/interfaces/inner_api/engine/src/update_service_kits_impl.cpp @@ -278,7 +278,7 @@ void UpdateServiceKitsImpl::ResetService(const wptr &remote) ENGINE_LOGI("ResetService, remoteUpdateCallbackMap_: %{public}zu, retryTimes_: %{public}d", remoteUpdateCallbackMap_.size(), retryTimes_); if (!remoteUpdateCallbackMap_.empty() && retryTimes_ < retryMaxTimes) { - ENGINE_LOLGI("ResetService, need resume register callback"); + ENGINE_LOGI("ResetService, need resume register callback"); auto updateService = GetService(); // 重新连接注册回调 retryTimes_++; ENGINE_LOGI("ResetService, reconnect service %{public}s", (updateService != nullptr) ? "success" : "fail"); -- Gitee