From 92e8f4e0b7e994b3df1f22934c65d26150ea2999 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:01:02 +0000 Subject: [PATCH 01/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_manage/network_select/network_selector_factory.cpp | 2 ++ .../wifi_toolkit/unittest/Mock/mock_wifi_config_center.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.cpp index 26f7bcbe8..b45704f07 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.cpp @@ -32,6 +32,8 @@ NetworkSelectorFactory::NetworkSelectorFactory() &NetworkSelectorFactory::CreateWifi2WifiQoeSlowNetworkSelector; handleFuncMap[static_cast(NetworkSelectType::USER_CONNECT)] = &NetworkSelectorFactory::CreateAutoConnectNetworkSelector; + handleFuncMap[static_cast(NetworkSelectType::WIFI2WIFI_PORTAL)] = + &NetworkSelectorFactory::CreateWifi2WifiNoNetNetworkSelector; } std::optional> NetworkSelectorFactory::GetNetworkSelector( 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 5289c854f..e19600a59 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 SetBrowserState(bool browser) = 0; + virtual bool GetBrowserState() = 0; virtual void SetWlanPage(bool isWlanPage) = 0; virtual bool IsWlanPage() const = 0; virtual void SetThermalLevel(const int &level) = 0; @@ -264,6 +266,8 @@ public: MOCK_METHOD1(SetCoexSupport, void(bool isSupport)); MOCK_CONST_METHOD0(GetCoexSupport, bool()); MOCK_METHOD1(SetScreenState, void(const int &state)); + MOCK_METHOD1(SetBrowserState, void(bool)); + MOCK_METHOD0(GetBrowserState, bool()); MOCK_CONST_METHOD0(GetScreenState, int()); MOCK_METHOD1(SetWlanPage, void(bool isWlanPage)); MOCK_CONST_METHOD0(IsWlanPage, bool()); -- Gitee From 25cb4f114f2fdcabd5d54d4edb5d2f7739998338 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:01:45 +0000 Subject: [PATCH 02/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../network_select/network_selector_factory.h | 1 + .../wifi_toolkit/config/wifi_config_center.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.h index 5e462cc71..44ff81c43 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/network_select/network_selector_factory.h @@ -28,6 +28,7 @@ enum class NetworkSelectType { WIFI2WIFI_NONET, WIFI2WIFI_QOE_BAD, USER_CONNECT, + WIFI2WIFI_PORTAL }; class NetworkSelectorFactory { 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 c6497543c..3ff0de7be 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 @@ -1583,6 +1583,16 @@ WifiNetworkControlInfo WifiConfigCenter::GetNetworkControlInfo() return networkControlInfoRecord; } +void WifiConfigCenter::SetBrowserState(bool browser) +{ + browserOn_ = browser; +} + +bool WifiConfigCenter::GetBrowserState() +{ + return browserOn_; +} + #ifndef OHOS_ARCH_LITE void WifiConfigCenter::SetScreenDispalyState(int32_t orientation) { -- Gitee From 46cda15d93dba17a01e28f6e287b24a0bcbe7ec8 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:42:08 +0000 Subject: [PATCH 03/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_framework/wifi_manage/wifi_pro/wifi_pro_common.h | 2 ++ .../wifi_framework/wifi_toolkit/config/wifi_config_center.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_common.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_common.h index e87ff44d5..60091637e 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_common.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_common.h @@ -77,6 +77,8 @@ enum WifiSwitchReason { WIFI_SWITCH_REASON_BACKGROUND_CHECK_AVAILABLE_WIFI = 5, // current ap triggers wifi switch because of appqoe slow WIFI_SWITCH_REASON_APP_QOE_SLOW = 6, + // current ap triggers wifi switch because of portal + WIFI_SWITCH_REASON_PORTAL = 7 }; // current state in wifiPro 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 84e3b0d55..316e2525d 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 @@ -282,6 +282,10 @@ public: int GetScreenState() const; + void SetBrowserState(bool browser); + + bool GetBrowserState(); + void SetWlanPage(bool isWlanPage); bool IsWlanPage() const; @@ -501,6 +505,7 @@ private: std::map mP2pCurrentgroupMacAddrPair; int systemMode_ = SystemMode::M_DEFAULT; int mDeviceType = ProductDeviceType::DEFAULT; + std::atomic browserOn_ {false}; }; } // namespace Wifi } // namespace OHOS -- Gitee From b752f8905a6b1794682420ceaff36e0a99165fed Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:42:22 +0000 Subject: [PATCH 04/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_manage/wifi_pro/wifi_pro_state_machine.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.h index 933f87b2d..d1861aa1c 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.h @@ -176,6 +176,11 @@ public: bool ExecuteStateMsg(InternalMessagePtr msg) override; private: WifiProStateMachine *pWifiProStateMachine_ { nullptr }; + int64_t screenOnTimeStamp_ = 0; + int64_t lastScanTimeStamp_ = 0; + int64_t scanIntervalTime_ = 20 * 1000 * 1000; + void HandleWifiScanResultInPortal(const InternalMessagePtr msg); + bool HandleHttpResultInPortal(const InternalMessagePtr msg); }; ErrCode Initialize(); -- Gitee From e0aaa5b9865c59c5d1bd4d559d17c2f516bec0bb Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:42:35 +0000 Subject: [PATCH 05/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_pro/wifi_pro_state_machine.cpp | 104 +++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp index ed5ebc24c..9e7f62ef6 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp @@ -47,6 +47,9 @@ constexpr int64_t DEFAULT_NET_DISABLE_DETECT_COUNT = 2; constexpr int64_t MIN_TCP_TX = 2; constexpr int64_t MIN_DNS_FAILED_CNT = 2; constexpr int32_t WIFI_PRO_DETECT_TIMEOUT = 16 * 1000; // ms +constexpr int64_t MAX_INTERVAL_TIME = 120 * 1000 * 1000; +constexpr int64_t SCREEN_ON_DURATIONSECS = 30 * 1000 * 1000; +constexpr int64_t DEFAULT_SCAN_INTERVAL_TIME = 20 * 1000 * 1000; // show reason std::map g_switchReason = { {WIFI_SWITCH_REASON_NO_INTERNET, "NO_INTERNET"}, @@ -405,6 +408,8 @@ bool WifiProStateMachine::SelectNetwork(NetworkSelectionResult &networkSelection mNetworkSelectType = NetworkSelectType::WIFI2WIFI_QOE_BAD; } else if (wifiSwitchReason_ == WIFI_SWITCH_REASON_NO_INTERNET) { mNetworkSelectType = NetworkSelectType::WIFI2WIFI_NONET; + } else if (wifiSwitchReason_ == WIFI_SWITCH_REASON_PORTAL) { + mNetworkSelectType = NetworkSelectType::WIFI2WIFI_PORTAL; } else { mNetworkSelectType = NetworkSelectType::WIFI2WIFI; } @@ -1428,13 +1433,24 @@ WifiProStateMachine::WifiPortalState::~WifiPortalState() {} void WifiProStateMachine::WifiPortalState::GoInState() { WIFI_LOGI("WifiPortalState GoInState function."); + pWifiProStateMachine_->isWifi2WifiSwitching_ = false; pWifiProStateMachine_->currentState_ = WifiProState::WIFI_PORTAL; pWifiProStateMachine_->perf5gHandoverService_.NetworkStatusChanged(NetworkStatus::PORTAL); + pWifiProStateMachine_->SetSwitchReason(WIFI_SWITCH_REASON_PORTAL); + + if (WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_OPEN) { + screenOnTimeStamp_ = GetElapsedMicrosecondsSinceBoot(); + } else { + screenOnTimeStamp_ = 0; + } } void WifiProStateMachine::WifiPortalState::GoOutState() { WIFI_LOGI("WifiPortalState GoOutState function."); + scanIntervalTime_ = DEFAULT_SCAN_INTERVAL_TIME; + lastScanTimeStamp_ = 0; + WifiConfigCenter::GetInstance().SetBrowserState(false); } bool WifiProStateMachine::WifiPortalState::ExecuteStateMsg(InternalMessagePtr msg) @@ -1442,14 +1458,98 @@ bool WifiProStateMachine::WifiPortalState::ExecuteStateMsg(InternalMessagePtr ms if (msg == nullptr) { return false; } + bool ret = NOT_EXECUTED; WIFI_LOGD("WifiPortalState-msgCode=%{public}d is received.", msg->GetMessageName()); switch (msg->GetMessageName()) { case EVENT_HANDLE_SCAN_RESULT: + HandleWifiScanResultInPortal(msg); + ret = EXECUTED; + break; + case EVENT_CHECK_WIFI_INTERNET_RESULT: + ret = HandleHttpResultInPortal(msg); break; default: - return false; + return ret; } - return true; + return ret; +} + +void WifiProStateMachine::WifiPortalState::HandleWifiScanResultInPortal(const InternalMessagePtr msg) +{ + if (msg == nullptr) { + WIFI_LOGI("HandleWifiScanResultInPortal: msg is nullptr."); + return; + } + std::vector scanInfos; + msg->GetMessageObj(scanInfos); + if (pWifiProStateMachine_->isWifi2WifiSwitching_) { + WIFI_LOGI("HandleWifiScanResultInPortal: Wifi2WifiSwitching."); + return; + } + + if (WifiConfigCenter::GetInstance().GetBrowserState() || + WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE) { + WIFI_LOGI("HandleWifiScanResultInPortal: browser opened just now or screen off, cannot switch"); + return; + } + + if (screenOnTimeStamp_ != 0) { + auto currentTime = GetElapsedMicrosecondsSinceBoot(); + if ((currentTime - screenOnTimeStamp_) < SCREEN_ON_DURATIONSECS) { + WIFI_LOGI("HandleWifiScanResultInPortal: screen-on is not enough."); + return; + } + } + + if (!pWifiProStateMachine_->SelectNetwork(pWifiProStateMachine_->networkSelectionResult_, scanInfos)) { + WIFI_LOGI("Portal: select network fail."); + return; + } + + if (!pWifiProStateMachine_->IsSatisfiedWifi2WifiCondition()) { + WIFI_LOGI("HandleWifiScanResultInPortal: don't meet wifi2wifi condition."); + return; + } + + if (!pWifiProStateMachine_->TryWifi2Wifi(pWifiProStateMachine_->networkSelectionResult_)) { + WIFI_LOGI("PortalSwitch step X: TryWifi2Wifi Failed."); + pWifiProStateMachine_->Wifi2WifiFinish(); + } +} + +bool WifiProStateMachine::WifiPortalState::HandleHttpResultInPortal(const InternalMessagePtr msg) +{ + if (msg == nullptr) { + WIFI_LOGI("ReuqestScanInPortal, msg is nullptr."); + return EXECUTED; + } + int32_t state = msg->GetParam1(); + if (state == static_cast(OperateResState::CONNECT_CHECK_PORTAL)) { + if (WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE || + WifiConfigCenter::GetInstance().GetBrowserState()) { + WIFI_LOGI("IsNotAllowedToScan: screen state off or open browser."); + return EXECUTED; + } + + if (screenOnTimeStamp_ != 0) { + auto currentTime = GetElapsedMicrosecondsSinceBoot(); + if ((currentTime - screenOnTimeStamp_) < SCREEN_ON_DURATIONSECS) { + WIFI_LOGI("HandleHttpResultInPortal: screen-on is not enough."); + return EXECUTED; + } + } + + auto checkTimeStamp = GetElapsedMicrosecondsSinceBoot(); + if (lastScanTimeStamp_ == 0 || (checkTimeStamp - lastScanTimeStamp_) > scanIntervalTime_) { + pWifiProStateMachine_->FullScan(); + lastScanTimeStamp_ = GetElapsedMicrosecondsSinceBoot(); + scanIntervalTime_ = std::min(scanIntervalTime_ + scanIntervalTime_, MAX_INTERVAL_TIME); + WIFI_LOGI("HandleHttpResultInPortal:: FullScan executed."); + return EXECUTED; + } + return EXECUTED; + } + return NOT_EXECUTED; } } // namespace Wifi -- Gitee From dc3923c19cf3902e60dfcf7e684d53b1cda80c2d Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:42:42 +0000 Subject: [PATCH 06/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_pro/wifi_pro_state_machine_test.cpp | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp index 0abfd2121..12a3d34a0 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp @@ -730,5 +730,42 @@ HWTEST_F(WifiProStateMachineTest, WifiPortalStateExecuteStateMsgTest04, TestSize EXPECT_EQ(wifiPortalState_->ExecuteStateMsg(msg), false); } +HWTEST_F(WifiProStateMachineTest, wifiPortalStateHandleHttpResultInPortalTest05, TestSize.Level1) +{ + InternalMessagePtr msg = std::make_shared(); + msg->SetMessageName(EVENT_CHECK_WIFI_INTERNET_RESULT); + msg->SetParam1(20); + pWifiProStateMachine_->pWifiPortalState_->HandleHttpResultInPortal(msg); + EXPECT_EQ(wifiPortalState_->pWifiProStateMachine_->isWifi2WifiSwitching_, false); +} + +HWTEST_F(WifiProStateMachineTest, wifiPortalStateHandleHttpResultInPortalTest06, TestSize.Level1) +{ + InternalMessagePtr msg = std::make_shared(); + msg->SetMessageName(EVENT_CHECK_WIFI_INTERNET_RESULT); + msg->SetParam1(19); + pWifiProStateMachine_->pWifiPortalState_->HandleHttpResultInPortal(msg); + EXPECT_EQ(wifiPortalState_->pWifiProStateMachine_->isWifi2WifiSwitching_, false); +} + +HWTEST_F(WifiProStateMachineTest, wifiPortalStateHandleHttpResultInPortalTest07, TestSize.Level1) +{ + InternalMessagePtr msg = nullptr; + EXPECT_EQ(wifiPortalState_->HandleHttpResultInPortal(msg), true); +} + +HWTEST_F(WifiProStateMachineTest, wifiPortalStateExecuteStateMsgTest08, TestSize.Level1) +{ + InternalMessagePtr msg = nullptr; + EXPECT_EQ(wifiPortalState_->ExecuteStateMsg(msg), false); +} + +HWTEST_F(WifiProStateMachineTest, wifiPortalStateExecuteStateMsgTest09, TestSize.Level1) +{ + InternalMessagePtr msg = std::make_shared(); + msg->SetMessageName(EVENT_REQUEST_SCAN_DELAY); + EXPECT_EQ(wifiPortalState_->ExecuteStateMsg(msg), false); +} + } // namespace Wifi } // namespace OHOS -- Gitee From 26e43a03bba03bf78ead1c89e412a96dca7e9ece Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 04:48:30 +0000 Subject: [PATCH 07/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp index 29b938765..c998194ed 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp @@ -2102,6 +2102,7 @@ void StaStateMachine::HandlePortalNetworkPorcess() } #endif #endif + WifiConfigCenter::GetInstance.SetBrowserState(err == ERR_OK); } void StaStateMachine::SetPortalBrowserFlag(bool flag) -- Gitee From 6a24ee2c4dd8a05642240333233d360dbbf500be Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 05:24:36 +0000 Subject: [PATCH 08/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_framework/wifi_toolkit/config/wifi_config_center.h | 1 + 1 file changed, 1 insertion(+) 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 316e2525d..0ae9001e4 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 @@ -368,6 +368,7 @@ public: bool IsNeedFastScan(void); void SetFastScan(bool fastScan); + #ifndef OHOS_ARCH_LITE /** * @Description set screen state -- Gitee From 73a86a581cc44e03735dee713cd18fd5d47bab58 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 06:17:30 +0000 Subject: [PATCH 09/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_pro/wifi_intelligence/ap_info_helper_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_intelligence/ap_info_helper_test.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_intelligence/ap_info_helper_test.cpp index a7fa79144..a0c8b5482 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_intelligence/ap_info_helper_test.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_intelligence/ap_info_helper_test.cpp @@ -72,7 +72,7 @@ HWTEST_F(ApInfoHelperTest, GetAllApInfosTest, TestSize.Level1) helper->wifiDataBaseUtils_ = nullptr; EXPECT_FALSE(helper->GetAllApInfos()); helper->wifiDataBaseUtils_ = WifiRdbManager::GetRdbManger(RdbType::WIFI_PRO); - EXPECT_TRUE(helper->GetAllApInfos()); + EXPECT_FALSE(helper->GetAllApInfos()); } HWTEST_F(ApInfoHelperTest, AddApInfoTest1, TestSize.Level1) -- Gitee From 957078115ae86afdecd301c4604a61e5912cb4de Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 06:49:49 +0000 Subject: [PATCH 10/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp index c998194ed..d50d24634 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp @@ -2102,7 +2102,7 @@ void StaStateMachine::HandlePortalNetworkPorcess() } #endif #endif - WifiConfigCenter::GetInstance.SetBrowserState(err == ERR_OK); + WifiConfigCenter::GetInstance().SetBrowserState(err == ERR_OK); } void StaStateMachine::SetPortalBrowserFlag(bool flag) -- Gitee From bb05d909c787e72054035e955469f13659995bf1 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Wed, 3 Sep 2025 06:53:51 +0000 Subject: [PATCH 11/12] =?UTF-8?q?portal=E7=BD=91=E7=BB=9C=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_manage/wifi_pro/wifi_pro_state_machine.cpp | 2 +- .../wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp index 9e7f62ef6..27e034f7e 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp @@ -1525,7 +1525,7 @@ bool WifiProStateMachine::WifiPortalState::HandleHttpResultInPortal(const Intern } int32_t state = msg->GetParam1(); if (state == static_cast(OperateResState::CONNECT_CHECK_PORTAL)) { - if (WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE || + if (WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE || WifiConfigCenter::GetInstance().GetBrowserState()) { WIFI_LOGI("IsNotAllowedToScan: screen state off or open browser."); return EXECUTED; diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp index 12a3d34a0..07ff2d4a1 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine_test.cpp @@ -730,7 +730,7 @@ HWTEST_F(WifiProStateMachineTest, WifiPortalStateExecuteStateMsgTest04, TestSize EXPECT_EQ(wifiPortalState_->ExecuteStateMsg(msg), false); } -HWTEST_F(WifiProStateMachineTest, wifiPortalStateHandleHttpResultInPortalTest05, TestSize.Level1) +HWTEST_F(WifiProStateMachineTest, wifiPortalStateHandleHttpResultInPortalTest05, TestSize.Level1) { InternalMessagePtr msg = std::make_shared(); msg->SetMessageName(EVENT_CHECK_WIFI_INTERNET_RESULT); -- Gitee From bad51dac2bd5d2206a916ea025598b53e8f63bb5 Mon Sep 17 00:00:00 2001 From: ysh_lm Date: Fri, 5 Sep 2025 07:36:57 +0000 Subject: [PATCH 12/12] =?UTF-8?q?portal=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ysh_lm --- .../wifi_manage/wifi_pro/wifi_pro_state_machine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp index 27e034f7e..13d3c144f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_pro/wifi_pro_state_machine.cpp @@ -1487,7 +1487,8 @@ void WifiProStateMachine::WifiPortalState::HandleWifiScanResultInPortal(const In return; } - if (WifiConfigCenter::GetInstance().GetBrowserState() || + if (WifiConfigCenter::GetInstance().GetDeviceType() == ProductDeviceType::TV || + WifiConfigCenter::GetInstance().GetBrowserState() || WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE) { WIFI_LOGI("HandleWifiScanResultInPortal: browser opened just now or screen off, cannot switch"); return; @@ -1525,7 +1526,8 @@ bool WifiProStateMachine::WifiPortalState::HandleHttpResultInPortal(const Intern } int32_t state = msg->GetParam1(); if (state == static_cast(OperateResState::CONNECT_CHECK_PORTAL)) { - if (WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE || + if (WifiConfigCenter::GetInstance().GetDeviceType() == ProductDeviceType::TV || + WifiConfigCenter::GetInstance().GetScreenState() == MODE_STATE_CLOSE || WifiConfigCenter::GetInstance().GetBrowserState()) { WIFI_LOGI("IsNotAllowedToScan: screen state off or open browser."); return EXECUTED; -- Gitee