From 56cdd26c4af6dd976cc40a4b9ebbb9e7db19cdf4 Mon Sep 17 00:00:00 2001 From: shihaojie Date: Thu, 7 Aug 2025 01:44:55 +0000 Subject: [PATCH] 1 Signed-off-by: shihaojie --- .../wifi_manage/wifi_pro/wifi_pro_state_machine.cpp | 10 ++++------ .../wifi_manage/wifi_pro/wifi_pro_state_machine.h | 2 +- .../wifi_pro/wifi_pro_state_machine_test.cpp | 6 +++--- 3 files changed, 8 insertions(+), 10 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 da5c5e55f..3320ba8b9 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 @@ -138,7 +138,7 @@ ErrCode WifiProStateMachine::Initialize() bool WifiProStateMachine::IsKeepCurrWifiConnected() { // First detect nonet and user select, do not switch - if (currentState_ == WifiProState::WIFI_NONET && WifiProUtils::IsUserSelectNetwork() && isFirstNetDectect_) { + if (currentState_ == WifiProState::WIFI_NONET && WifiProUtils::IsUserSelectNetwork() && !isHasNetInConnected_) { WifiProChr::GetInstance().RecordReasonNotSwitchChrCnt(WIFIPRO_NONET_BEFORE_CONNECT); WIFI_LOGI("IsKeepCurrWifiConnected, user select and nonet."); return true; @@ -565,7 +565,7 @@ bool WifiProStateMachine::IsFirstConnectAndNonet() return true; } return currentState_ == WifiProState::WIFI_NONET && WifiProUtils::IsUserSelectNetwork() && - config.numAssociation <= 1 && isFirstNetDectect_; + config.numAssociation <= 1 && !isHasNetInConnected_; } /* --------------------------- state machine default state ------------------------------ */ WifiProStateMachine::DefaultState::DefaultState(WifiProStateMachine *pWifiProStateMachine) @@ -796,7 +796,7 @@ void WifiProStateMachine::WifiConnectedState::InitConnectedState() if (pWifiProStateMachine_->duanBandHandoverType_ == ROAM_SCENE) { pWifiProStateMachine_->duanBandHandoverType_ = 0; } - pWifiProStateMachine_->isFirstNetDectect_ = true; + pWifiProStateMachine_->isHasNetInConnected_ = false; } void WifiProStateMachine::WifiConnectedState::HandleHttpResult(const InternalMessagePtr msg) @@ -954,7 +954,7 @@ void WifiProStateMachine::WifiHasNetState::GoOutState() { WIFI_LOGI("WifiHasNetState GoOutState function."); pWifiProStateMachine_->StopTimer(EVENT_CMD_INTERNET_STATUS_DETECT_INTERVAL); - pWifiProStateMachine_->isFirstNetDectect_ = false; + pWifiProStateMachine_->isHasNetInConnected_ = true; return; } @@ -1269,7 +1269,6 @@ void WifiProStateMachine::WifiNoNetState::GoInState() void WifiProStateMachine::WifiNoNetState::GoOutState() { WIFI_LOGI("WifiNoNetState GoOutState function."); - pWifiProStateMachine_->isFirstNetDectect_ = false; } bool WifiProStateMachine::WifiNoNetState::ExecuteStateMsg(InternalMessagePtr msg) @@ -1428,7 +1427,6 @@ void WifiProStateMachine::WifiPortalState::GoInState() void WifiProStateMachine::WifiPortalState::GoOutState() { WIFI_LOGI("WifiPortalState GoOutState function."); - pWifiProStateMachine_->isFirstNetDectect_ = false; } bool WifiProStateMachine::WifiPortalState::ExecuteStateMsg(InternalMessagePtr msg) 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 2e45bcfb5..6d6563c56 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 @@ -226,7 +226,7 @@ private: int32_t wiFiNoInternetReason_ { 0 }; bool disconnectToConnectedState_ { false }; bool isWifiProEnabled_ { true }; // enabled by default, it should be assigned according to the settings. - bool isFirstNetDectect_ { true }; + bool isHasNetInConnected_ { false }; // There was internet during this connection. std::string badBssid_ { 0 }; std::string badSsid_ { 0 }; WifiSwitchReason wifiSwitchReason_ { WifiSwitchReason::WIFI_SWITCH_REASON_DEFAULT }; 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 1da04ea73..d15f4f9ca 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 @@ -297,11 +297,11 @@ HWTEST_F(WifiProStateMachineTest, TryNoNetSwitchTest, TestSize.Level1) { NetworkSelectionResult networkSelectionResult; networkSelectionResult.wifiDeviceConfig.networkId = 1; - wifiNoNetState_->pWifiProStateMachine_->isFirstNetDectect_ = false; + wifiNoNetState_->pWifiProStateMachine_->isHasNetInConnected_ = false; wifiNoNetState_->pWifiProStateMachine_->wifiSwitchReason_ = WIFI_SWITCH_REASON_NO_INTERNET; wifiNoNetState_->pWifiProStateMachine_->TryWifi2Wifi(networkSelectionResult); - wifiNoNetState_->pWifiProStateMachine_->isFirstNetDectect_ = true; + wifiNoNetState_->pWifiProStateMachine_->isHasNetInConnected_ = true; wifiNoNetState_->pWifiProStateMachine_->wifiSwitchReason_ = WIFI_SWITCH_REASON_NO_INTERNET; wifiNoNetState_->pWifiProStateMachine_->TryWifi2Wifi(networkSelectionResult); @@ -701,7 +701,7 @@ HWTEST_F(WifiProStateMachineTest, WifiPortalStateGoInStateTest01, TestSize.Level { wifiPortalState_->GoInState(); wifiPortalState_->GoOutState(); - EXPECT_EQ(wifiPortalState_->pWifiProStateMachine_->isFirstNetDectect_, false); + EXPECT_NE(pWifiProStateMachine_->wifiSwitchReason_, TEN); } HWTEST_F(WifiProStateMachineTest, WifiPortalStateExecuteStateMsgTest01, TestSize.Level1) -- Gitee