From 5b7578ebc7bed1442c1afce9197fd6930f618f8f Mon Sep 17 00:00:00 2001 From: silenceyi Date: Tue, 12 Aug 2025 15:28:32 +0800 Subject: [PATCH] nointernet chr Signed-off-by: silenceyi --- .../wifi_sta/sta_state_machine.cpp | 1 + wifi/utils/inc/wifi_hisysevent.h | 2 ++ wifi/utils/src/wifi_hisysevent.cpp | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+) 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 4b1b19637..c85639feb 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 @@ -5328,6 +5328,7 @@ void StaStateMachine::HandleInternetAccessChanged(SystemNetWorkState internetAcc if (internetAccessStatus == SystemNetWorkState::NETWORK_NOTWORKING && lastInternetIconStatus_ == SystemNetWorkState::NETWORK_IS_WORKING) { noInternetAccessCnt_++; + WriteInternetAccessHisysevent(noInternetAccessCnt_, lastInternetIconStatus_); if (noInternetAccessCnt_ < MAX_NO_INTERNET_CNT) { StopTimer(CMD_NO_INTERNET_TIMEOUT); StartTimer(CMD_NO_INTERNET_TIMEOUT, STA_NO_INTERNET_TIMEOUT); diff --git a/wifi/utils/inc/wifi_hisysevent.h b/wifi/utils/inc/wifi_hisysevent.h index ce27e938e..3a49fc71f 100644 --- a/wifi/utils/inc/wifi_hisysevent.h +++ b/wifi/utils/inc/wifi_hisysevent.h @@ -236,6 +236,8 @@ void WriteAutoSelectHiSysEvent(int selectType, const std::string &selectedInfo, void WriteDhcpInfoHiSysEvent(const IpInfo &ipInfo, const IpV6Info &ipv6Info); void WriteIodHiSysEvent(const IodStatisticInfo &iodStatisticInfo); + +void WriteInternetAccessHisysevent(int32_t noInternetCnt, int32_t lastStatus); } // namespace Wifi } // namespace OHOS #endif diff --git a/wifi/utils/src/wifi_hisysevent.cpp b/wifi/utils/src/wifi_hisysevent.cpp index 36707621c..4c0cfc02d 100644 --- a/wifi/utils/src/wifi_hisysevent.cpp +++ b/wifi/utils/src/wifi_hisysevent.cpp @@ -985,5 +985,24 @@ void WriteIodHiSysEvent(const IodStatisticInfo &iodStatisticInfo) free(jsonStr); cJSON_Delete(root); } + +void WriteInternetAccessHisysevent(int32_t noInternetCnt, int32_t lastStatus) +{ + cJSON *root = cJSON_CreateObject(); + if (root == nullptr) { + WIFI_LOGE("Failed to create cJSON object"); + return; + } + cJSON_AddNumberToObject(root, "noInternetAccessCnt", noInternetCnt); + cJSON_AddNumberToObject(root, "lastInternetIconStatus", lastStatus); + char *jsonStr = cJSON_PrintUnformatted(root); + if (jsonStr == nullptr) { + cJSON_Delete(root); + return; + } + WriteEvent("WIFI_CHR_EVENT", "EVENT_NAME", "INTERNET_ACCESS_STATUS", "EVENT_VALUE", std::string(jsonStr)); + free(jsonStr); + cJSON_Delete(root); +} } // namespace Wifi } // namespace OHOS \ No newline at end of file -- Gitee