From 1c889257a92851eff8fa8822233bf1888c8bfc91 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Mon, 28 Jul 2025 13:08:44 +0000 Subject: [PATCH 1/2] 1 Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp index 190d1b535..bb3cb3f66 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_global_func.cpp @@ -639,9 +639,13 @@ bool ParseJsonKey(const cJSON *jsonValue, const std::string &key, std::string &v int nSize = cJSON_GetArraySize(jsonValue); for (int i = 0; i < nSize; ++i) { cJSON *item = cJSON_GetArrayItem(jsonValue, i); - if (item == nullptr || !cJSON_IsObject(item)) { + if (item == nullptr) { return false; } + if (!cJSON_IsObject(item)) { + cJSON_Delete(item); + continue; + } cJSON *keyItem = cJSON_GetObjectItem(item, key.c_str()); if (keyItem == nullptr) { return false; -- Gitee From 487911925e8ce7cccc1c94a1fa4b5e4506a1479d Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Tue, 29 Jul 2025 14:43:57 +0800 Subject: [PATCH 2/2] AutoConnect BugFix Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_manage/wifi_sta/sta_service.cpp | 1 - .../wifi_manage/wifi_sta/sta_state_machine.cpp | 17 ----------------- .../wifi_manage/wifi_sta/sta_state_machine.h | 2 -- 3 files changed, 20 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp index f34a206a5..e30e0ba8f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp @@ -705,7 +705,6 @@ ErrCode StaService::AllowAutoConnect(int32_t networkId, bool isAllowed) const WIFI_LOGI("AllowAutoConnect, networkid is not correct, linked networkid:%{public}d", linkedInfo.networkId); return WIFI_OPT_SUCCESS; } - Disconnect(); } return WIFI_OPT_SUCCESS; } 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 76558d198..c49aea81a 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 @@ -4402,7 +4402,6 @@ ErrCode StaStateMachine::StartConnectToNetwork(int networkId, const std::string return WIFI_OPT_FAILED; } if (connTriggerMode == NETWORK_SELECTED_BY_USER) { - SetAllowAutoConnectStatus(networkId, true); BlockConnectService::GetInstance().EnableNetworkSelectStatus(networkId); #ifndef OHOS_ARCH_LITE BlockConnectService::GetInstance().ReleaseUnusableBssidSet(); @@ -4456,22 +4455,6 @@ ErrCode StaStateMachine::StartConnectToNetwork(int networkId, const std::string return WIFI_OPT_SUCCESS; } -void StaStateMachine::SetAllowAutoConnectStatus(int32_t networkId, bool status) -{ - WifiDeviceConfig deviceConfig; - if (WifiSettings::GetInstance().GetDeviceConfig(networkId, deviceConfig, m_instId) != 0) { - WIFI_LOGE("SetAllowAutoConnectStatus get GetDeviceConfig failed!"); - return; - } - if (deviceConfig.isAllowAutoConnect == status) { - return; - } - - deviceConfig.isAllowAutoConnect = status; - WifiSettings::GetInstance().AddDeviceConfig(deviceConfig); - WifiSettings::GetInstance().SyncDeviceConfig(); -} - void StaStateMachine::MacAddressGenerate(WifiStoreRandomMac &randomMacInfo) { WIFI_LOGD("enter MacAddressGenerate\n"); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h index 1121ab819..a3354ebbe 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h @@ -610,8 +610,6 @@ private: */ void AutoSelectConnectToNetwork(const std::string& bssid, std::string& ifaceName); - void SetAllowAutoConnectStatus(int32_t networkId, bool status); - /** * @Description Disconnect network * -- Gitee