From b5b41c6263e1ce789e97ec94f167d127bdb0895c Mon Sep 17 00:00:00 2001 From: TianYH Date: Wed, 6 Aug 2025 15:16:13 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=BF=9E=E6=8E=A5portal?= =?UTF-8?q?=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: TianYH --- .../network_select/wifi_filter_impl.cpp | 5 +++-- .../wifi_event_subscriber_manager.cpp | 16 ++++++++++------ .../wifi_toolkit/config/wifi_config_center.cpp | 10 ++++++++++ .../wifi_toolkit/config/wifi_config_center.h | 5 +++++ .../wifi_standard/wifi_base/mock_wifi_settings.h | 2 ++ .../unittest/Mock/mock_wifi_config_center.h | 4 ++++ 6 files changed, 34 insertions(+), 8 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp index 189742814..21dd13117 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp @@ -288,7 +288,7 @@ bool PoorPortalWifiFilter::Filter(NetworkCandidate &networkCandidate) if (networkCandidate.wifiDeviceConfig.isPortal && networkCandidate.wifiDeviceConfig.noInternetAccess && !NetworkStatusHistoryManager::IsAllowRecoveryByHistory( - networkCandidate.wifiDeviceConfig.networkStatusHistory)) { + networkCandidate.wifiDeviceConfig.networkStatusHistory) && !WifiConfigCenter::GetInstance().IsWlanPage()) { networkCandidate.filtedReason[filterName].insert({FiltedReason::PORTAL_NETWORK, FiltedReason::NO_INTERNET, FiltedReason::UNRECOVERABLE_NETWORK}); return false; @@ -331,7 +331,8 @@ bool PortalWifiFilter::Filter(NetworkCandidate &networkCandidate) if (networkCandidate.wifiDeviceConfig.isPortal && networkCandidate.wifiDeviceConfig.noInternetAccess && !NetworkStatusHistoryManager::IsAllowRecoveryByHistory( - networkCandidate.wifiDeviceConfig.networkStatusHistory)) { + networkCandidate.wifiDeviceConfig.networkStatusHistory) && + !WifiConfigCenter::GetInstance().IsWlanPage()) { networkCandidate.filtedReason[filterName].insert({FiltedReason::PORTAL_NETWORK, FiltedReason::NO_INTERNET, FiltedReason::UNRECOVERABLE_NETWORK}); return false; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp index f1e62fa07..d1932b028 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp @@ -1367,13 +1367,17 @@ SettingsEnterSubscriber::SettingsEnterSubscriber( void SettingsEnterSubscriber::OnReceiveEvent(const EventFwk::CommonEventData &eventData) { const auto &action = eventData.GetWant().GetAction(); - WIFI_LOGI("SettingsEnterSubscriber OnReceiveEvent: %{public}s", action.c_str()); + bool isSettingsEnter = eventData.GetWant().GetBoolParam(WLAN_PAGE_ENTER, false); + WIFI_LOGI("SettingsEnterSubscriber OnReceiveEvent: %{public}s, isSettingsEnter : %{public}d", + action.c_str(), isSettingsEnter) if (action == ENTER_SETTINGS) { - bool isSettingsEnter = eventData.GetWant().GetBoolParam(WLAN_PAGE_ENTER, false); - BlockConnectService::GetInstance().OnReceiveSettingsEnterEvent(isSettingsEnter); - IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); - if (pEnhanceService != nullptr) { - pEnhanceService->OnSettingsWlanEnterReceive(); + WifiConfigCenter::GetInstance().SetWlanPage(isSettingsEnter); + if (isSettingsEnter) { + BlockConnectService::GetInstance().OnReceiveSettingsEnterEvent(isSettingsEnter); + IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); + if (pEnhanceService != nullptr) { + pEnhanceService->OnSettingsWlanEnterReceive(); + } } } } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp index 5128ea979..661c89d61 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp @@ -1049,6 +1049,16 @@ int WifiConfigCenter::GetScreenState() const return mScreenState.load(); } +void WifiConfigCenter::SetWlanPage(bool isOnWlanPage) +{ + isOnWlanPage_.store(isOnWlanPage); +} + +int WifiConfigCenter::IsWlanPage() const +{ + return isOnWlanPage_.load(); +} + void WifiConfigCenter::SetThermalLevel(const int &level) { mThermalLevel = level; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h index 35c78c73a..dca9dd6c1 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h @@ -281,6 +281,10 @@ public: int GetScreenState() const; + void SetWlanPage(bool isOnWlanPage); + + int IsWlanPage() const; + void SetThermalLevel(const int &level); int GetThermalLevel() const; @@ -478,6 +482,7 @@ private: // COMMON std::atomic mIsSupportCoex {false}; std::atomic mScreenState {MODE_STATE_DEFAULT}; + std::atomic isOnWlanPage_{false}; std::atomic mThermalLevel {static_cast(ThermalLevel::NORMAL)}; std::atomic mPowerIdelState {MODE_STATE_CLOSE}; std::atomic mGnssFixState {MODE_STATE_CLOSE}; diff --git a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h index 8fd25d008..34f2657f3 100644 --- a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h +++ b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h @@ -120,6 +120,8 @@ public: virtual int GetP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; virtual void SetWifiToggledState(int state) = 0; virtual int GetScreenState() const = 0; + virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual bool IsWlanPage() const = 0; virtual int SetDeviceRandomizedMacSuccessEver(int networkId) = 0; virtual bool StoreWifiMacAddrPairInfo(WifiMacAddrInfoType type, const std::string &realMacAddr, const std::string &randomAddr) = 0; diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h index e55dce910..28df459b3 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h @@ -103,6 +103,8 @@ public: virtual bool GetCoexSupport() const = 0; virtual void SetScreenState(const int &state) = 0; virtual int GetScreenState() const = 0; + virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual bool IsWlanPage() const = 0; virtual void SetThermalLevel(const int &level) = 0; virtual int GetThermalLevel() const = 0; virtual bool SetWifiStateOnAirplaneChanged(const int &state); @@ -265,6 +267,8 @@ public: MOCK_CONST_METHOD0(GetCoexSupport, bool()); MOCK_METHOD1(SetScreenState, void(const int &state)); MOCK_CONST_METHOD0(GetScreenState, int()); + MOCK_METHOD1(SetWlanPage, void(bool isOnWlanPage)); + MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetThermalLevel, void(const int &level)); MOCK_CONST_METHOD0(GetThermalLevel, int()); MOCK_METHOD1(SetWifiStateOnAirplaneChanged, bool(const int &state)); -- Gitee From ae2165e38c67561e1f42286f908559422ad8832f Mon Sep 17 00:00:00 2001 From: TianYH Date: Wed, 6 Aug 2025 15:23:19 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=BF=9E=E6=8E=A5portal?= =?UTF-8?q?=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: TianYH --- .../network_select/wifi_filter_impl.cpp | 4 ++-- .../wifi_event_subscriber_manager.cpp | 16 ++++++++++------ .../wifi_toolkit/config/wifi_config_center.cpp | 10 ++++++++++ .../wifi_toolkit/config/wifi_config_center.h | 5 +++++ .../wifi_standard/wifi_base/mock_wifi_settings.h | 2 ++ .../unittest/Mock/mock_wifi_config_center.h | 4 ++++ 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp index 189742814..91f600ed0 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/wifi_filter_impl.cpp @@ -288,7 +288,7 @@ bool PoorPortalWifiFilter::Filter(NetworkCandidate &networkCandidate) if (networkCandidate.wifiDeviceConfig.isPortal && networkCandidate.wifiDeviceConfig.noInternetAccess && !NetworkStatusHistoryManager::IsAllowRecoveryByHistory( - networkCandidate.wifiDeviceConfig.networkStatusHistory)) { + networkCandidate.wifiDeviceConfig.networkStatusHistory) && !WifiConfigCenter::GetInstance().IsWlanPage()) { networkCandidate.filtedReason[filterName].insert({FiltedReason::PORTAL_NETWORK, FiltedReason::NO_INTERNET, FiltedReason::UNRECOVERABLE_NETWORK}); return false; @@ -331,7 +331,7 @@ bool PortalWifiFilter::Filter(NetworkCandidate &networkCandidate) if (networkCandidate.wifiDeviceConfig.isPortal && networkCandidate.wifiDeviceConfig.noInternetAccess && !NetworkStatusHistoryManager::IsAllowRecoveryByHistory( - networkCandidate.wifiDeviceConfig.networkStatusHistory)) { + networkCandidate.wifiDeviceConfig.networkStatusHistory) && !WifiConfigCenter::GetInstance().IsWlanPage()) { networkCandidate.filtedReason[filterName].insert({FiltedReason::PORTAL_NETWORK, FiltedReason::NO_INTERNET, FiltedReason::UNRECOVERABLE_NETWORK}); return false; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp index f1e62fa07..d1932b028 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp @@ -1367,13 +1367,17 @@ SettingsEnterSubscriber::SettingsEnterSubscriber( void SettingsEnterSubscriber::OnReceiveEvent(const EventFwk::CommonEventData &eventData) { const auto &action = eventData.GetWant().GetAction(); - WIFI_LOGI("SettingsEnterSubscriber OnReceiveEvent: %{public}s", action.c_str()); + bool isSettingsEnter = eventData.GetWant().GetBoolParam(WLAN_PAGE_ENTER, false); + WIFI_LOGI("SettingsEnterSubscriber OnReceiveEvent: %{public}s, isSettingsEnter : %{public}d", + action.c_str(), isSettingsEnter) if (action == ENTER_SETTINGS) { - bool isSettingsEnter = eventData.GetWant().GetBoolParam(WLAN_PAGE_ENTER, false); - BlockConnectService::GetInstance().OnReceiveSettingsEnterEvent(isSettingsEnter); - IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); - if (pEnhanceService != nullptr) { - pEnhanceService->OnSettingsWlanEnterReceive(); + WifiConfigCenter::GetInstance().SetWlanPage(isSettingsEnter); + if (isSettingsEnter) { + BlockConnectService::GetInstance().OnReceiveSettingsEnterEvent(isSettingsEnter); + IEnhanceService *pEnhanceService = WifiServiceManager::GetInstance().GetEnhanceServiceInst(); + if (pEnhanceService != nullptr) { + pEnhanceService->OnSettingsWlanEnterReceive(); + } } } } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp index 5128ea979..661c89d61 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp @@ -1049,6 +1049,16 @@ int WifiConfigCenter::GetScreenState() const return mScreenState.load(); } +void WifiConfigCenter::SetWlanPage(bool isOnWlanPage) +{ + isOnWlanPage_.store(isOnWlanPage); +} + +int WifiConfigCenter::IsWlanPage() const +{ + return isOnWlanPage_.load(); +} + void WifiConfigCenter::SetThermalLevel(const int &level) { mThermalLevel = level; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h index 35c78c73a..dca9dd6c1 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h @@ -281,6 +281,10 @@ public: int GetScreenState() const; + void SetWlanPage(bool isOnWlanPage); + + int IsWlanPage() const; + void SetThermalLevel(const int &level); int GetThermalLevel() const; @@ -478,6 +482,7 @@ private: // COMMON std::atomic mIsSupportCoex {false}; std::atomic mScreenState {MODE_STATE_DEFAULT}; + std::atomic isOnWlanPage_{false}; std::atomic mThermalLevel {static_cast(ThermalLevel::NORMAL)}; std::atomic mPowerIdelState {MODE_STATE_CLOSE}; std::atomic mGnssFixState {MODE_STATE_CLOSE}; diff --git a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h index 8fd25d008..34f2657f3 100644 --- a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h +++ b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h @@ -120,6 +120,8 @@ public: virtual int GetP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; virtual void SetWifiToggledState(int state) = 0; virtual int GetScreenState() const = 0; + virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual bool IsWlanPage() const = 0; virtual int SetDeviceRandomizedMacSuccessEver(int networkId) = 0; virtual bool StoreWifiMacAddrPairInfo(WifiMacAddrInfoType type, const std::string &realMacAddr, const std::string &randomAddr) = 0; diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h index e55dce910..28df459b3 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h @@ -103,6 +103,8 @@ public: virtual bool GetCoexSupport() const = 0; virtual void SetScreenState(const int &state) = 0; virtual int GetScreenState() const = 0; + virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual bool IsWlanPage() const = 0; virtual void SetThermalLevel(const int &level) = 0; virtual int GetThermalLevel() const = 0; virtual bool SetWifiStateOnAirplaneChanged(const int &state); @@ -265,6 +267,8 @@ public: MOCK_CONST_METHOD0(GetCoexSupport, bool()); MOCK_METHOD1(SetScreenState, void(const int &state)); MOCK_CONST_METHOD0(GetScreenState, int()); + MOCK_METHOD1(SetWlanPage, void(bool isOnWlanPage)); + MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetThermalLevel, void(const int &level)); MOCK_CONST_METHOD0(GetThermalLevel, int()); MOCK_METHOD1(SetWifiStateOnAirplaneChanged, bool(const int &state)); -- Gitee From 0eaa84e6f4ebb7c6046dc096b8743f25dca1c279 Mon Sep 17 00:00:00 2001 From: TianYH Date: Wed, 6 Aug 2025 15:47:36 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=9B=9E=E8=BF=9Eportal?= =?UTF-8?q?=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: TianYH --- .../wifi_sub_manage/wifi_event_subscriber_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp index d1932b028..563c700e3 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_event_subscriber_manager.cpp @@ -1369,7 +1369,7 @@ void SettingsEnterSubscriber::OnReceiveEvent(const EventFwk::CommonEventData &ev const auto &action = eventData.GetWant().GetAction(); bool isSettingsEnter = eventData.GetWant().GetBoolParam(WLAN_PAGE_ENTER, false); WIFI_LOGI("SettingsEnterSubscriber OnReceiveEvent: %{public}s, isSettingsEnter : %{public}d", - action.c_str(), isSettingsEnter) + action.c_str(), isSettingsEnter); if (action == ENTER_SETTINGS) { WifiConfigCenter::GetInstance().SetWlanPage(isSettingsEnter); if (isSettingsEnter) { -- Gitee From b438bd34626771c24d73fc9ef57f25b3297d3cbb Mon Sep 17 00:00:00 2001 From: TianYH Date: Thu, 7 Aug 2025 11:01:58 +0800 Subject: [PATCH 4/6] =?UTF-8?q?Wlan=E7=95=8C=E9=9D=A2=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5portal=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: TianYH --- .../wifi_framework/wifi_manage/libwifi_manager.map | 2 ++ .../wifi_toolkit/config/wifi_config_center.cpp | 6 +++--- .../wifi_framework/wifi_toolkit/config/wifi_config_center.h | 4 ++-- wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h | 4 +++- .../wifi_toolkit/unittest/Mock/mock_wifi_config_center.h | 4 ++-- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map index 9cda632a1..3f5d69470 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map @@ -121,6 +121,8 @@ "OHOS::Wifi::WifiConfigCenter::GetCoexSupport() const"; "OHOS::Wifi::WifiConfigCenter::SetScreenState(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetScreenState() const"; + "OHOS::Wifi::WifiConfigCenter::SetWlanPage(bool)"; + "OHOS::Wifi::WifiConfigCenter::IsWlanPage() const"; "OHOS::Wifi::WifiConfigCenter::SetThermalLevel(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetThermalLevel() const"; "OHOS::Wifi::WifiConfigCenter::SetPowerIdelState(int const&)"; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp index 661c89d61..bf9cd3c44 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp @@ -1049,14 +1049,14 @@ int WifiConfigCenter::GetScreenState() const return mScreenState.load(); } -void WifiConfigCenter::SetWlanPage(bool isOnWlanPage) +void WifiConfigCenter::SetWlanPage(bool isWlanPage) { - isOnWlanPage_.store(isOnWlanPage); + isWlanPage_.store(isWlanPage); } int WifiConfigCenter::IsWlanPage() const { - return isOnWlanPage_.load(); + return isWlanPage_.load(); } void WifiConfigCenter::SetThermalLevel(const int &level) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h index dca9dd6c1..80302c971 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h @@ -281,7 +281,7 @@ public: int GetScreenState() const; - void SetWlanPage(bool isOnWlanPage); + void SetWlanPage(bool isWlanPage); int IsWlanPage() const; @@ -482,7 +482,7 @@ private: // COMMON std::atomic mIsSupportCoex {false}; std::atomic mScreenState {MODE_STATE_DEFAULT}; - std::atomic isOnWlanPage_{false}; + std::atomic isWlanPage_{false}; std::atomic mThermalLevel {static_cast(ThermalLevel::NORMAL)}; std::atomic mPowerIdelState {MODE_STATE_CLOSE}; std::atomic mGnssFixState {MODE_STATE_CLOSE}; diff --git a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h index 34f2657f3..aabca39e1 100644 --- a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h +++ b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h @@ -120,7 +120,7 @@ public: virtual int GetP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; virtual void SetWifiToggledState(int state) = 0; virtual int GetScreenState() const = 0; - virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual void SetWlanPage(bool isWlanPage) = 0; virtual bool IsWlanPage() const = 0; virtual int SetDeviceRandomizedMacSuccessEver(int networkId) = 0; virtual bool StoreWifiMacAddrPairInfo(WifiMacAddrInfoType type, const std::string &realMacAddr, @@ -306,6 +306,8 @@ public: MOCK_METHOD1(GetP2pInfo, int(WifiP2pLinkedInfo &linkedInfo)); MOCK_METHOD1(SetWifiToggledState, void(int state)); MOCK_CONST_METHOD0(GetScreenState, int()); + MOCK_METHOD1(SetWlanPage, void(bool isWlanPage)); + MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetDeviceRandomizedMacSuccessEver, int(int networkId)); MOCK_METHOD1(SetValidChannels, int(const ChannelsTable &channelsInfo)); MOCK_METHOD1(GetPackageInfoMap, int(std::map> &filterMap)); diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h index 28df459b3..4a83a6f1e 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h @@ -103,7 +103,7 @@ public: virtual bool GetCoexSupport() const = 0; virtual void SetScreenState(const int &state) = 0; virtual int GetScreenState() const = 0; - virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual void SetWlanPage(bool isWlanPage) = 0; virtual bool IsWlanPage() const = 0; virtual void SetThermalLevel(const int &level) = 0; virtual int GetThermalLevel() const = 0; @@ -267,7 +267,7 @@ public: MOCK_CONST_METHOD0(GetCoexSupport, bool()); MOCK_METHOD1(SetScreenState, void(const int &state)); MOCK_CONST_METHOD0(GetScreenState, int()); - MOCK_METHOD1(SetWlanPage, void(bool isOnWlanPage)); + MOCK_METHOD1(SetWlanPage, void(bool isWlanPage)); MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetThermalLevel, void(const int &level)); MOCK_CONST_METHOD0(GetThermalLevel, int()); -- Gitee From 715520f97589151f1921c382e39bb0f88999bf13 Mon Sep 17 00:00:00 2001 From: TianYH Date: Thu, 7 Aug 2025 11:01:58 +0800 Subject: [PATCH 5/6] =?UTF-8?q?Wlan=E7=95=8C=E9=9D=A2=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5portal=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: TianYH --- .../wifi_manage/libwifi_manager.map | 2 ++ .../config/wifi_config_center.cpp | 6 ++-- .../wifi_toolkit/config/wifi_config_center.h | 4 +-- .../wifi_base/mock_wifi_settings.h | 4 ++- .../wifi_sta/wifi_filter_impl_test.cpp | 32 +++++++++++++++++++ .../unittest/Mock/mock_wifi_config_center.h | 4 +-- 6 files changed, 44 insertions(+), 8 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map index 9cda632a1..3f5d69470 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map @@ -121,6 +121,8 @@ "OHOS::Wifi::WifiConfigCenter::GetCoexSupport() const"; "OHOS::Wifi::WifiConfigCenter::SetScreenState(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetScreenState() const"; + "OHOS::Wifi::WifiConfigCenter::SetWlanPage(bool)"; + "OHOS::Wifi::WifiConfigCenter::IsWlanPage() const"; "OHOS::Wifi::WifiConfigCenter::SetThermalLevel(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetThermalLevel() const"; "OHOS::Wifi::WifiConfigCenter::SetPowerIdelState(int const&)"; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp index 661c89d61..bf9cd3c44 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.cpp @@ -1049,14 +1049,14 @@ int WifiConfigCenter::GetScreenState() const return mScreenState.load(); } -void WifiConfigCenter::SetWlanPage(bool isOnWlanPage) +void WifiConfigCenter::SetWlanPage(bool isWlanPage) { - isOnWlanPage_.store(isOnWlanPage); + isWlanPage_.store(isWlanPage); } int WifiConfigCenter::IsWlanPage() const { - return isOnWlanPage_.load(); + return isWlanPage_.load(); } void WifiConfigCenter::SetThermalLevel(const int &level) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h index dca9dd6c1..80302c971 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/config/wifi_config_center.h @@ -281,7 +281,7 @@ public: int GetScreenState() const; - void SetWlanPage(bool isOnWlanPage); + void SetWlanPage(bool isWlanPage); int IsWlanPage() const; @@ -482,7 +482,7 @@ private: // COMMON std::atomic mIsSupportCoex {false}; std::atomic mScreenState {MODE_STATE_DEFAULT}; - std::atomic isOnWlanPage_{false}; + std::atomic isWlanPage_{false}; std::atomic mThermalLevel {static_cast(ThermalLevel::NORMAL)}; std::atomic mPowerIdelState {MODE_STATE_CLOSE}; std::atomic mGnssFixState {MODE_STATE_CLOSE}; diff --git a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h index 34f2657f3..aabca39e1 100644 --- a/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h +++ b/wifi/test/wifi_standard/wifi_base/mock_wifi_settings.h @@ -120,7 +120,7 @@ public: virtual int GetP2pInfo(WifiP2pLinkedInfo &linkedInfo) = 0; virtual void SetWifiToggledState(int state) = 0; virtual int GetScreenState() const = 0; - virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual void SetWlanPage(bool isWlanPage) = 0; virtual bool IsWlanPage() const = 0; virtual int SetDeviceRandomizedMacSuccessEver(int networkId) = 0; virtual bool StoreWifiMacAddrPairInfo(WifiMacAddrInfoType type, const std::string &realMacAddr, @@ -306,6 +306,8 @@ public: MOCK_METHOD1(GetP2pInfo, int(WifiP2pLinkedInfo &linkedInfo)); MOCK_METHOD1(SetWifiToggledState, void(int state)); MOCK_CONST_METHOD0(GetScreenState, int()); + MOCK_METHOD1(SetWlanPage, void(bool isWlanPage)); + MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetDeviceRandomizedMacSuccessEver, int(int networkId)); MOCK_METHOD1(SetValidChannels, int(const ChannelsTable &channelsInfo)); MOCK_METHOD1(GetPackageInfoMap, int(std::map> &filterMap)); diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/wifi_filter_impl_test.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/wifi_filter_impl_test.cpp index cc6a5ff5a..f1635f4ed 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/wifi_filter_impl_test.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/wifi_filter_impl_test.cpp @@ -445,6 +445,37 @@ HWTEST_F(WifiFilterImplTest, PoorPortalWifiFilter5gReturnFalse, TestSize.Level1) EXPECT_FALSE(poorPortalWifiFilter->DoFilter(networkCandidate5)); } +HWTEST_F(WifiFilterImplTest, PoorPortalWifiFilterIsWlanPageReturnTrue, TestSize.Level1) { + InterScanInfo scanInfo3; + scanInfo4.ssid = "x"; + scanInfo4.rssi = -50; + scanInfo4.band = 2; + scanInfo4.bssid = "11:11:11:11:11:22"; + NetworkSelection::NetworkCandidate networkCandidate3(scanInfo4); + networkCandidate4.wifiDeviceConfig.isPortal = 1; + networkCandidate4.wifiDeviceConfig.networkId = 1; + networkCandidate4.wifiDeviceConfig.noInternetAccess = 0; + EXPECT_CALL(WifiSettings::GetInstance(), GetSignalLevel(_, _, _)).WillRepeatedly(Return(4)); + EXPECT_CALL(WifiSettings::GetInstance(), IsWlanPage()).WillRepeatedly(Return(true)); + + auto poorportalWifiFilter = std::make_shared(); + EXPECT_TRUE(poorportalWifiFilter->DoFilter(networkCandidate4)); + + +HWTEST_F(WifiFilterImplTest, PortalWifiFilterIsWlanPageReturnTrue, TestSize.Level1) { + InterScanInfo scanInfo3; + scanInfo3.ssid = "x"; + scanInfo3.bssid = "11:11:11:11:11:22"; + NetworkSelection::NetworkCandidate networkCandidate3(scanInfo3); + networkCandidate3.wifiDeviceConfig.isPortal = 1; + networkCandidate3.wifiDeviceConfig.networkId = 1; + networkCandidate3.wifiDeviceConfig.noInternetAccess = 0; + EXPECT_CALL(WifiSettings::GetInstance(), IsWlanPage()).WillRepeatedly(Return(true)); + + auto portalWifiFilter = std::make_shared(); + EXPECT_TRUE(portalWifiFilter->DoFilter(networkCandidate3)); +} + HWTEST_F(WifiFilterImplTest, PortalWifiFilterReturnTrue, TestSize.Level1) { InterScanInfo scanInfo3; scanInfo3.ssid = "x"; @@ -475,6 +506,7 @@ HWTEST_F(WifiFilterImplTest, PortalWifiFilterReturnFalse, TestSize.Level1) { networkCandidate2.wifiDeviceConfig.isPortal = 0; networkCandidate2.wifiDeviceConfig.networkId = 1; networkCandidate2.wifiDeviceConfig.noInternetAccess = 0; + EXPECT_CALL(WifiSettings::GetInstance(), IsWlanPage()).WillRepeatedly(Return(false)); auto portalWifiFilter = std::make_shared(); EXPECT_FALSE(portalWifiFilter->DoFilter(networkCandidate1)); diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h index 28df459b3..4a83a6f1e 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/Mock/mock_wifi_config_center.h @@ -103,7 +103,7 @@ public: virtual bool GetCoexSupport() const = 0; virtual void SetScreenState(const int &state) = 0; virtual int GetScreenState() const = 0; - virtual void SetWlanPage(bool isOnWlanPage) = 0; + virtual void SetWlanPage(bool isWlanPage) = 0; virtual bool IsWlanPage() const = 0; virtual void SetThermalLevel(const int &level) = 0; virtual int GetThermalLevel() const = 0; @@ -267,7 +267,7 @@ public: MOCK_CONST_METHOD0(GetCoexSupport, bool()); MOCK_METHOD1(SetScreenState, void(const int &state)); MOCK_CONST_METHOD0(GetScreenState, int()); - MOCK_METHOD1(SetWlanPage, void(bool isOnWlanPage)); + MOCK_METHOD1(SetWlanPage, void(bool isWlanPage)); MOCK_CONST_METHOD0(IsWlanPage, bool()); MOCK_METHOD1(SetThermalLevel, void(const int &level)); MOCK_CONST_METHOD0(GetThermalLevel, int()); -- Gitee From e6cd771ac0c19aee6d3204379eac395d9214fc03 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Thu, 14 Aug 2025 17:05:54 +0800 Subject: [PATCH 6/6] --amend Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_manage/libwifi_manager.map | 2 -- 1 file changed, 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map index 3f5d69470..9cda632a1 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/libwifi_manager.map @@ -121,8 +121,6 @@ "OHOS::Wifi::WifiConfigCenter::GetCoexSupport() const"; "OHOS::Wifi::WifiConfigCenter::SetScreenState(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetScreenState() const"; - "OHOS::Wifi::WifiConfigCenter::SetWlanPage(bool)"; - "OHOS::Wifi::WifiConfigCenter::IsWlanPage() const"; "OHOS::Wifi::WifiConfigCenter::SetThermalLevel(int const&)"; "OHOS::Wifi::WifiConfigCenter::GetThermalLevel() const"; "OHOS::Wifi::WifiConfigCenter::SetPowerIdelState(int const&)"; -- Gitee