diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn index 53de33c73e501aa0b89d9adef5503853f211943c..83b5d53d917c42c29b168cfa78aeaec799d1ddba 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn @@ -187,8 +187,6 @@ if (defined(ohos_lite)) { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "hilog:libhilog", "init:libbegetutil", @@ -202,6 +200,15 @@ if (defined(ohos_lite)) { "time_service:time_client", ] + if (defined(global_parts_info) && + defined(global_parts_info.telephony_core_service) && + defined(global_parts_info.telephony_cellular_data)) { + external_deps += [ + "cellular_data:tel_cellular_data_api", + "core_service:tel_core_service_api",] + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } + part_name = "wifi" subsystem_name = "communication" } 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 8c5bd2888f82449bfd3a22b6d527c8ea4ba75c2f..3a455296e3349d137501bf5d5f850a9624aeda82 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 @@ -19,8 +19,10 @@ #ifndef OHOS_ARCH_LITE #include "wifi_internal_event_dispatcher.h" #include "wifi_country_code_manager.h" +#ifdef TELEPHONE_CORE_SERVICE_ENABLE #include "core_service_client.h" #include "cellular_data_client.h" +#endif #include "wifi_notification_util.h" #include "wifi_history_record_manager.h" #endif @@ -301,6 +303,7 @@ std::string StaService::ConvertString(const std::u16string &wideText) const } #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t StaService::GetDataSlotId(int32_t slotId) const { int32_t simCount = CoreServiceClient::GetInstance().GetMaxSimCount(); @@ -339,6 +342,7 @@ std::string StaService::GetPlmn(int32_t slotId) const return ConvertString(plmn); } #endif +#endif std::string StaService::GetMcc(const std::string &imsi) const { @@ -350,6 +354,7 @@ std::string StaService::GetMnc(const std::string &imsi, const int mncLen) const return imsi.substr(EAP_AUTH_IMSI_MNC_POS, mncLen); } +#ifdef TELEPHONE_CORE_SERVICE_ENABLE void StaService::UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig &wifiEapConfig) const { std::string eapMethod = config.wifiEapConfig.eap; @@ -395,6 +400,7 @@ void StaService::UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig & LOGI("StaService::UpdateEapConfig, identity: %{public}s", identity.c_str()); wifiEapConfig.identity = identity; } +#endif int StaService::AddDeviceConfig(const WifiDeviceConfig &config) const { @@ -450,7 +456,9 @@ int StaService::AddDeviceConfig(const WifiDeviceConfig &config) const } } +#ifdef TELEPHONE_CORE_SERVICE_ENABLE UpdateEapConfig(config, tempDeviceConfig.wifiEapConfig); +#endif WifiSettings::GetInstance().SetKeyMgmtBitset(tempDeviceConfig); /* Add the new network to WifiSettings. */ diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h index c92187b0818f8a0fbe6cedf9036871aeb424634b..ef2e9d4dc827d1d3d46b435bc0940729073f1678 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h @@ -440,9 +440,11 @@ private: void NotifyDeviceConfigChange(ConfigChange value) const; int FindDeviceConfig(const WifiDeviceConfig &config, WifiDeviceConfig &outConfig) const; std::string ConvertString(const std::u16string &wideText) const; +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t GetDataSlotId(int32_t slotId) const; std::string GetImsi(int32_t slotId) const; std::string GetPlmn(int32_t slotId) const; +#endif std::string GetMcc(const std::string &imsi) const; std::string GetMnc(const std::string &imsi, const int mncLen) const; void UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig &wifiEapConfig) const; 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 d8d7f1b22e9782b9e320b12eee674d03cfd46555..13bfe28b4b42c94d02636b061539825f989822cb 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 @@ -638,12 +638,14 @@ int StaStateMachine::LinkState::InitStaSMHandleMap() return this->pStaStateMachine->DealScreenStateChangedEvent(msg); }; #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_EAP_SIM_AUTH_EVENT] = [this](InternalMessagePtr msg) { return this->pStaStateMachine->DealWpaEapSimAuthEvent(msg); }; staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_EAP_UMTS_AUTH_EVENT] = [this](InternalMessagePtr msg) { return this->pStaStateMachine->DealWpaEapUmtsAuthEvent(msg); }; +#endif #endif staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_STATE_CHANGE_EVENT] = [this](InternalMessagePtr msg) { return this->DealWpaStateChange(msg); @@ -4334,6 +4336,7 @@ void StaStateMachine::StartConnectToBssid(std::string bssid) } #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t StaStateMachine::GetDataSlotId(int32_t slotId) { int32_t simCount = CoreServiceClient::GetInstance().GetMaxSimCount(); @@ -4821,6 +4824,7 @@ void StaStateMachine::DealWpaEapUmtsAuthEvent(InternalMessagePtr msg) WIFI_LOGD("%{public}s: success to send the message, authReq: %{private}s", __func__, reqCmd.c_str()); } #endif +#endif /* ------------------ state machine call back ----------------- */ void StaStateMachine::RegisterStaServiceCallback(const StaServiceCallback &callback) 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 b6a39d850726f7a87d0436200671b88ec4e4445a..d5bfbba7464bb78b2ed406b8d82c3ba1c369c4e9 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 @@ -37,11 +37,13 @@ #include "want.h" #include "wifi_net_agent.h" #include "wifi_net_observer.h" +#ifdef TELEPHONE_CORE_SERVICE_ENABLE #include "sim_state_type.h" #include "core_service_client.h" #include "cellular_data_client.h" #include "core_manager_inner.h" #include "telephony_errors.h" +#endif #include "ienhance_service.h" #include "iself_cure_service.h" #include "appmgr/app_mgr_interface.h" @@ -51,8 +53,10 @@ namespace OHOS { namespace Wifi { #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE using namespace OHOS::Telephony; #endif +#endif constexpr int STA_RENEWAL_MIN_TIME = 120; constexpr int STREAM_TXPACKET_THRESHOLD = 0; constexpr int STREAM_RXPACKET_THRESHOLD = 0; @@ -856,6 +860,7 @@ private: void DealMloConnectionLinkInfo(void); #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE /** * @Description Get slot id. * @Return int32_t - 0:success, other value:failed @@ -962,6 +967,7 @@ private: * @Description Subscribe system ability changed. */ void SubscribeSystemAbilityChanged(void); +#endif /** * @Description save wificonfig for update mode. diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn index e4b1546ec2ca161f620f61b54829e4ccc0f98f1b..4c5d02af84a5c6b43a2b71814fe08fc0e4d8bb55 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn @@ -67,8 +67,6 @@ ohos_static_library("wifi_sta_ext_service") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "hilog:libhilog", "init:libbegetutil", @@ -84,6 +82,13 @@ ohos_static_library("wifi_sta_ext_service") { defines = [] + if (wifi_feature_with_call_supported) { + external_deps += [ + "cellular_data:tel_cellular_data_api", + "core_service:tel_core_service_api",] + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } + if (wifi_feature_with_data_report) { defines += [ "WIFI_DATA_REPORT_ENABLE" ] } diff --git a/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn b/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn index 57f0c4135025377c5b33644d0538173ab2757dc8..88970e698d0437ef14e8dfa34da4094a74d3cb1a 100644 --- a/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn +++ b/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn @@ -194,10 +194,8 @@ ohos_fuzztest("EnableP2pFuzzTest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", "certificate_manager:cert_manager_sdk", "common_event_service:cesfwk_innerkits", - "core_service:tel_core_service_api", "data_share:datashare_common", "data_share:datashare_consumer", "dhcp:dhcp_sdk", diff --git a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn index 628e72d754c3973ece3f36241a88d4e9781aa774..461e8b125833399645ca47bcf6d4bcdee375f75f 100644 --- a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn +++ b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn @@ -155,8 +155,6 @@ ohos_fuzztest("WifiStaServerFuzzTest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "data_share:datashare_consumer", "dhcp:dhcp_sdk", "hilog:libhilog", @@ -177,6 +175,9 @@ ohos_fuzztest("WifiStaServerFuzzTest") { if (wifi_feature_with_data_report) { defines += [ "WIFI_DATA_REPORT_ENABLE" ] } + if (wifi_feature_with_call_supported) { + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } part_name = "wifi" subsystem_name = "communication" diff --git a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp index ba42b1d4ab0bbaf8742f10a9990719a877025ff2..99634979bd1b8824d60d99f1464fda961b3f2464 100644 --- a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp +++ b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp @@ -193,7 +193,9 @@ void StaServerFuzzTest(const uint8_t* data, size_t size) pStaService->StartPortalCertification(); pStaService->EnableHiLinkHandshake(true, config, conditionName); pStaService->DeliverStaIfaceData(conditionName); +#ifdef TELEPHONE_CORE_SERVICE_ENABLE pStaService->GetDataSlotId(index); +#endif pStaService->AddDeviceConfig(config); } @@ -451,10 +453,12 @@ void GetImsiFuzzTest(const uint8_t* data, size_t size) int slotId = static_cast(data[index++]); int mncLen = static_cast(data[index++]); std::string imsi = std::string(reinterpret_cast(data), size); +#ifdef TELEPHONE_CORE_SERVICE_ENABLE pStaService->GetPlmn(slotId); + pStaService->GetImsi(slotId); +#endif pStaService->GetMcc(imsi); pStaService->GetMnc(imsi, mncLen); - pStaService->GetImsi(slotId); } extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn index ccd1b7c0852c364ec1384ef5c2e1b251ac54b039..fb23edab51e69701f56f29eaa67093d19f1afd85 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn @@ -139,8 +139,6 @@ ohos_unittest("wifi_sta_new_unittest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "dhcp:dhcp_utils", "googletest:gmock_main", diff --git a/wifi/wifi.gni b/wifi/wifi.gni index e54029250d79fb1b671f3ec4239ec90cabbbe0a5..493d70adf5a1370fbc5ff61ee0a7fabe34a06acf 100644 --- a/wifi/wifi.gni +++ b/wifi/wifi.gni @@ -58,6 +58,12 @@ declare_args() { } wifi_feature_with_vap_manager = true wifi_feature_with_wifi_oeminfo_mac = false + wifi_feature_with_call_supported = false + if (defined(global_parts_info) && + defined(global_parts_info.telephony_core_service) && + defined(global_parts_info.telephony_cellular_data)) { + wifi_feature_with_call_supported = true + } } memory_optimization_cflags = [