From 8b5120b35a5663223769959ecd34e267c5944946 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Tue, 3 Jun 2025 07:15:52 +0000 Subject: [PATCH 1/4] update wifi/base/inner_api/ienhance_service.h. Signed-off-by: chen yi wen <15068825070@163.com> --- wifi/base/inner_api/ienhance_service.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/wifi/base/inner_api/ienhance_service.h b/wifi/base/inner_api/ienhance_service.h index 37de35a7e..c781b9fdd 100644 --- a/wifi/base/inner_api/ienhance_service.h +++ b/wifi/base/inner_api/ienhance_service.h @@ -307,6 +307,13 @@ public: */ virtual void OnWifiLinkTypeChanged(const WifiLinkType &wifiLinkType) = 0; + /** + * @Description handle beacon lost + * + * @return void + */ + virtual void HandleBeaconLost() = 0; + /** * @Description get limit switching network scenes * -- Gitee From 914be69eab48ef3a4e3ec3da34dd68ef0d94e78c Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Tue, 3 Jun 2025 07:17:17 +0000 Subject: [PATCH 2/4] update wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp. Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp index d5f113684..3e59dad3f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_sta_manager.cpp @@ -243,7 +243,14 @@ static void HandleStaDisconnected(int instId) void WifiStaManager::DealSignalPollReport(const std::string &bssid, const int32_t signalLevel, const int32_t instId) { - WifiChrUtils::GetInstance().BeaconLostReport(bssid, signalLevel, instId); + bool isBeaconLost = WifiChrUtils::GetInstance().BeaconLostReport(bssid, signalLevel, instId); + if (isBeaconLost) { + WIFI_LOGI("Enter HandleBeaconLost"); + IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); + if (pEnhanceService != nullptr) { + pEnhanceService->HandleBeaconLost(); + } + } } void WifiStaManager::DealStaConnChanged(OperateResState state, const WifiLinkedInfo &info, int instId) -- Gitee From 1ad1679e93e176c1b027a20f2707f8685b15e6d6 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Tue, 3 Jun 2025 07:18:45 +0000 Subject: [PATCH 3/4] update wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp. Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp index b81386606..7f7367393 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.cpp @@ -60,9 +60,9 @@ void WifiChrUtils::GetSignalPollInfoArray(std::vector &wifiS } } -void WifiChrUtils::BeaconLostReport(const std::string &bssid, const int32_t signalLevel, const int32_t instId) +bool WifiChrUtils::BeaconLostReport(const std::string &bssid, const int32_t signalLevel, const int32_t instId) { - if (signalLevel < 0) return; + if (signalLevel < 0) return false; std::vector wifiCheckInfoArray = signalPollInfoArray; std::sort(wifiCheckInfoArray.begin(), wifiCheckInfoArray.end(), [](const WifiSignalPollInfo& a, const WifiSignalPollInfo& b) {return a.timeStamp > b.timeStamp;}); @@ -83,8 +83,10 @@ void WifiChrUtils::BeaconLostReport(const std::string &bssid, const int32_t sign if (currentTime - startTime_ >= SIGNAL_RECORD_5S) { startTime_ = currentTime; WriteWifiBeaconLostHiSysEvent(errorCode); + return true; } } + return false; } } // namespace Wifi } // namespace OHOS \ No newline at end of file -- Gitee From 45a8c68809da3e35fc0236746d095b37116d56f1 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Tue, 3 Jun 2025 07:19:26 +0000 Subject: [PATCH 4/4] update wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h. Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h index c6ae61e20..7dd379fa0 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_chr_utils.h @@ -30,7 +30,7 @@ public: void AddSignalPollInfoArray(WifiSignalPollInfo signalInfo); void GetSignalPollInfoArray(std::vector &wifiSignalPollInfos, int length); void ClearSignalPollInfoArray(); - void BeaconLostReport(const std::string &bssid, const int32_t signalLevel, const int32_t instId); + bool BeaconLostReport(const std::string &bssid, const int32_t signalLevel, const int32_t instId); private: WifiChrUtils(); -- Gitee