From 9897f3af334d55b9809a50c09bee20fdf6762ce6 Mon Sep 17 00:00:00 2001 From: cameng <1047760932@qq.com> Date: Sat, 7 Jun 2025 11:25:16 +0800 Subject: [PATCH] Signed-off-by: cameng <1047760932@qq.com> --- wifi/base/inner_api/ienhance_service.h | 7 +++++++ .../wifi_framework/wifi_manage/network_select/BUILD.gn | 3 +++ .../network_select/network_selection_manager.cpp | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/wifi/base/inner_api/ienhance_service.h b/wifi/base/inner_api/ienhance_service.h index 37de35a7e..ff980a68c 100644 --- a/wifi/base/inner_api/ienhance_service.h +++ b/wifi/base/inner_api/ienhance_service.h @@ -328,6 +328,13 @@ public: * @return Errcode - operation result */ virtual ErrCode RegisterSensorEnhanceCallback(SensorEnhanceCallback callback) = 0; + + /** + * @Description Trigger Judge + * + * @return Errcode - operation result + */ + virtual ErrCode TriggerJudge() = 0; }; } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/BUILD.gn index 9b96e7b02..a99f3a976 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/BUILD.gn @@ -48,6 +48,9 @@ local_base_include_dirs = [ "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/wifi_network_stats", "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_common/network_black_list", "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage", + "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta", + "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_self_cure", + "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan", "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/common", "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface", "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/idl_client", diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selection_manager.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selection_manager.cpp index ceb4aee45..7f8290a04 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selection_manager.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selection_manager.cpp @@ -20,6 +20,7 @@ #include "network_selection_utils.h" #include "wifi_common_util.h" #include "wifi_hisysevent.h" +#include "wifi_service_manager.h" namespace OHOS::Wifi { DEFINE_WIFILOG_LABEL("networkSelectionManager") @@ -54,6 +55,15 @@ bool NetworkSelectionManager::SelectNetwork(NetworkSelectionResult &networkSelec bool isSavedNetEmpty = false; std::string savedResult = GetSavedNetInfoForChr(networkCandidates, isSavedNetEmpty); + /* Trigger the network selection policy in different scenarios */ +#ifndef OHOS_ARCH_LITE + IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); + if (pEnhanceService != nullptr && !isSavedNetEmpty) { + ErrCode ret = pEnhanceService->TriggerJudge(); + WIFI_LOGI("%{public}s TriggerJudge ret %{public}d", __FUNCTION__, ret); + } +#endif + /* Traverse networkCandidates and reserve qualified networkCandidate */ TryNominate(networkCandidates, networkSelector); -- Gitee