From 2eaeb9113db770ecd6672662f7ce38f1395a6c19 Mon Sep 17 00:00:00 2001 From: z30045325 Date: Wed, 30 Jul 2025 16:12:23 +0800 Subject: [PATCH 1/7] Descreption:wifi Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- wifi/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/BUILD.gn b/wifi/BUILD.gn index 3c4ae54cb..c190bc41f 100644 --- a/wifi/BUILD.gn +++ b/wifi/BUILD.gn @@ -25,5 +25,6 @@ if (defined(ohos_lite)) { "$WIFI_ROOT_DIR/utils:wifi_utils", ] features = [] + } } -- Gitee From b569efcc2ff26939aa253c281700825a44dd4518 Mon Sep 17 00:00:00 2001 From: z30045325 Date: Wed, 30 Jul 2025 17:28:06 +0800 Subject: [PATCH 2/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- wifi/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/BUILD.gn b/wifi/BUILD.gn index c190bc41f..c79b454dd 100644 --- a/wifi/BUILD.gn +++ b/wifi/BUILD.gn @@ -11,6 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. + if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") import("//foundation/communication/wifi/wifi/wifi_lite.gni") -- Gitee From eacb1473f3ba28d809b56a43361a15347f3279eb Mon Sep 17 00:00:00 2001 From: z30045325 Date: Wed, 30 Jul 2025 17:48:57 +0800 Subject: [PATCH 3/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- .../native/c_adapter/src/wifi_c_p2p.cpp | 7 ++++- .../frameworks/native/interfaces/i_wifi_p2p.h | 9 ++++++ .../wifi_manager_service_ipc_interface_code.h | 1 + wifi/frameworks/native/libwifi_sdk.map | 1 + wifi/frameworks/native/src/wifi_p2p_impl.cpp | 7 +++++ wifi/frameworks/native/src/wifi_p2p_impl.h | 8 +++++ wifi/frameworks/native/src/wifi_p2p_proxy.cpp | 31 +++++++++++++++++++ wifi/frameworks/native/src/wifi_p2p_proxy.h | 8 +++++ wifi/interfaces/inner_api/wifi_p2p.h | 8 +++++ wifi/interfaces/kits/c/wifi_p2p.h | 8 +++++ .../hal_device_manage/hal_device_manage.cpp | 9 ++++++ .../hal_device_manage/hal_device_manage.h | 8 +++++ .../wifi_p2p_hal_interface.cpp | 12 +++++++ .../wifi_p2p_hal_interface.h | 8 +++++ .../wifi_manage/wifi_p2p/ip2p_service.h | 8 +++++ .../wifi_manage/wifi_p2p/p2p_define.h | 1 + .../wifi_p2p/p2p_enabled_state.cpp | 10 ++++++ .../wifi_manage/wifi_p2p/p2p_enabled_state.h | 9 ++++++ .../wifi_manage/wifi_p2p/p2p_interface.cpp | 5 +++ .../wifi_manage/wifi_p2p/p2p_interface.h | 8 +++++ .../wifi_manage/wifi_p2p/wifi_p2p_service.cpp | 7 +++++ .../wifi_manage/wifi_p2p/wifi_p2p_service.h | 8 +++++ .../wifi_p2p_sa/wifi_p2p_service_impl.cpp | 17 ++++++++++ .../wifi_p2p_sa/wifi_p2p_service_impl.h | 8 +++++ .../wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp | 15 +++++++++ .../wifi_manage/wifi_p2p_sa/wifi_p2p_stub.h | 2 +- .../wifip2pstub_fuzzer/wifip2pstub_fuzzer.cpp | 13 ++++++++ .../unittest/wifi_mock_p2p_service.cpp | 5 +++ .../unittest/wifi_mock_p2p_service.h | 2 +- .../wifi_p2p/test/Mock/mock_p2p_interface.cpp | 5 +++ .../wifi_p2p/test/Mock/mock_p2p_interface.h | 1 + .../test/Mock/mock_wifi_p2p_hal_interface.h | 2 ++ 32 files changed, 248 insertions(+), 3 deletions(-) diff --git a/wifi/frameworks/native/c_adapter/src/wifi_c_p2p.cpp b/wifi/frameworks/native/c_adapter/src/wifi_c_p2p.cpp index efec171f3..73e70a126 100644 --- a/wifi/frameworks/native/c_adapter/src/wifi_c_p2p.cpp +++ b/wifi/frameworks/native/c_adapter/src/wifi_c_p2p.cpp @@ -624,4 +624,9 @@ NO_SANITIZE("cfi") WifiErrorCode SetMiracastSinkConfig(const char* config) { CHECK_PTR_RETURN(wifiP2pPtr, ERROR_WIFI_NOT_AVAILABLE); return GetCErrorCode(wifiP2pPtr->SetMiracastSinkConfig(config)); -} \ No newline at end of file +} +NO_SANITIZE("cfi") WifiErrorCode SetP2pHighPerf(bool isEnable) +{ + CHECK_PTR_RETURN(wifiP2pPtr, ERROR_WIFI_NOT_AVAILABLE); + return GetCErrorCode(wifiP2pPtr->SetP2pHighPerf(isEnable)); +} diff --git a/wifi/frameworks/native/interfaces/i_wifi_p2p.h b/wifi/frameworks/native/interfaces/i_wifi_p2p.h index 6f1ebafe1..b4e1b8ca4 100644 --- a/wifi/frameworks/native/interfaces/i_wifi_p2p.h +++ b/wifi/frameworks/native/interfaces/i_wifi_p2p.h @@ -428,6 +428,15 @@ public: * @return ErrCode - operation result */ virtual ErrCode GetSupportedChanForBand(std::vector &channels, int band) = 0; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return ErrCode - operation result + */ + virtual ErrCode SetP2pHighPerf(bool isEnable) = 0; + public: DECLARE_INTERFACE_DESCRIPTOR(u"ohos.wifi.IWifiP2pService"); }; diff --git a/wifi/frameworks/native/interfaces/wifi_manager_service_ipc_interface_code.h b/wifi/frameworks/native/interfaces/wifi_manager_service_ipc_interface_code.h index a7bee35ed..16bed0786 100644 --- a/wifi/frameworks/native/interfaces/wifi_manager_service_ipc_interface_code.h +++ b/wifi/frameworks/native/interfaces/wifi_manager_service_ipc_interface_code.h @@ -190,6 +190,7 @@ enum class P2PInterfaceCode { WIFI_SVR_CMD_P2P_HID2D_WIDE_SUPPORTED = 0x202C, /* Hid2d Is Wide Bandwidth Supported */ WIFI_SVR_CMD_P2P_SET_MIRACAST_SINK_CONFIG = 0x202D, /* Set miracast sink config */ WIFI_SVR_CMD_P2P_GET_SUPPORT_CHANN_FOR_BAND = 0x202E, /* Get support channels for band*/ + WIFI_SVR_CMD_SET_P2P_HIGH_PERF_MODE = 0x202F, /* Set p2p high perf mode*/ /* 新增WIFI_SVR_CMD_类code,请在此下方添加 */ WIFI_SVR_CMD_P2P_REMOVE_GROUP_CLIENT = 0x3000, diff --git a/wifi/frameworks/native/libwifi_sdk.map b/wifi/frameworks/native/libwifi_sdk.map index 5e5ce03bb..df50fa66b 100644 --- a/wifi/frameworks/native/libwifi_sdk.map +++ b/wifi/frameworks/native/libwifi_sdk.map @@ -27,6 +27,7 @@ RegisterP2pConnectionChangedCallback; RegisterP2pPeersChangedCallback; CheckCanUseP2p; + SetP2pHighPerf; SetMiracastSinkConfig; EnableHotspot; DisableHotspot; diff --git a/wifi/frameworks/native/src/wifi_p2p_impl.cpp b/wifi/frameworks/native/src/wifi_p2p_impl.cpp index 8c1ec4371..652ed3f94 100644 --- a/wifi/frameworks/native/src/wifi_p2p_impl.cpp +++ b/wifi/frameworks/native/src/wifi_p2p_impl.cpp @@ -433,5 +433,12 @@ ErrCode WifiP2pImpl::GetSupportedChanForBand(std::vector &channels, int ban RETURN_IF_FAIL(GetWifiP2pProxy()); return client_->GetSupportedChanForBand(channels, band); } + +ErrCode WifiP2pImpl::SetP2pHighPerf(bool isEnable) +{ + std::lock_guard lock(mutex_); + RETURN_IF_FAIL(GetWifiP2pProxy()); + return client_->SetP2pHighPerf(isEnable); +} } // namespace Wifi } // namespace OHOS \ No newline at end of file diff --git a/wifi/frameworks/native/src/wifi_p2p_impl.h b/wifi/frameworks/native/src/wifi_p2p_impl.h index 1e381ad0e..82e2fb005 100644 --- a/wifi/frameworks/native/src/wifi_p2p_impl.h +++ b/wifi/frameworks/native/src/wifi_p2p_impl.h @@ -436,6 +436,14 @@ public: * @return ErrCode - operation result */ ErrCode GetSupportedChanForBand(std::vector &channels, int band) override; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return ErrCode - operation result + */ + ErrCode SetP2pHighPerf(bool isEnable) override; private: bool GetWifiP2pProxy(); std::atomic systemAbilityId_; diff --git a/wifi/frameworks/native/src/wifi_p2p_proxy.cpp b/wifi/frameworks/native/src/wifi_p2p_proxy.cpp index be9917df4..440f7c137 100644 --- a/wifi/frameworks/native/src/wifi_p2p_proxy.cpp +++ b/wifi/frameworks/native/src/wifi_p2p_proxy.cpp @@ -1895,5 +1895,36 @@ ErrCode WifiP2pProxy::GetSupportedChanForBand(std::vector &channels, int ba } return WIFI_OPT_SUCCESS; } + +ErrCode WifiP2pProxy::SetP2pHighPerf(bool isEnable) +{ + if (mRemoteDied) { + WIFI_LOGW("failed to `%{public}s`,remote service is died!", __func__); + return WIFI_OPT_FAILED; + } + MessageOption option; + MessageParcel data; + MessageParcel reply; + if (!data.WriteInterfaceToken(GetDescriptor())) { + WIFI_LOGE("Write interface token error: %{public}s", __func__); + return WIFI_OPT_FAILED; + } + data.WriteInt32(0); + data.WriteBool(isEnable); + int error = Remote()->SendRequest( + static_cast(P2PInterfaceCode::WIFI_SVR_CMD_SET_P2P_HIGH_PERF_MODE), data, reply, option); + if (error != ERR_NONE) { + WIFI_LOGE("Set Attr(%{public}d) failed,error code is %{public}d", + static_cast(P2PInterfaceCode::WIFI_SVR_CMD_SET_P2P_HIGH_PERF_MODE), error); + return WIFI_OPT_FAILED; + } + int exception = reply.ReadInt32(); + if (exception) { + return WIFI_OPT_FAILED; + } + + return WIFI_OPT_SUCCESS; +} + } // namespace Wifi } // namespace OHOS diff --git a/wifi/frameworks/native/src/wifi_p2p_proxy.h b/wifi/frameworks/native/src/wifi_p2p_proxy.h index 992d1c84e..043f7a239 100644 --- a/wifi/frameworks/native/src/wifi_p2p_proxy.h +++ b/wifi/frameworks/native/src/wifi_p2p_proxy.h @@ -423,6 +423,14 @@ public: * @return ErrCode - operation result */ ErrCode GetSupportedChanForBand(std::vector &channels, int band) override; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return ErrCode - operation result + */ + ErrCode SetP2pHighPerf(bool isEnable) override; private: class WifiDeathRecipient : public IRemoteObject::DeathRecipient { public: diff --git a/wifi/interfaces/inner_api/wifi_p2p.h b/wifi/interfaces/inner_api/wifi_p2p.h index 76a6dd3ae..ea010992b 100644 --- a/wifi/interfaces/inner_api/wifi_p2p.h +++ b/wifi/interfaces/inner_api/wifi_p2p.h @@ -308,6 +308,14 @@ public: * @return ErrCode - operation result */ virtual ErrCode GetSupportedChanForBand(std::vector &channels, int band) = 0; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return ErrCode - operation result + */ + virtual ErrCode SetP2pHighPerf(bool isEnable) = 0; }; } // namespace Wifi } // namespace OHOS diff --git a/wifi/interfaces/kits/c/wifi_p2p.h b/wifi/interfaces/kits/c/wifi_p2p.h index cde58277e..b15f17096 100644 --- a/wifi/interfaces/kits/c/wifi_p2p.h +++ b/wifi/interfaces/kits/c/wifi_p2p.h @@ -255,6 +255,14 @@ WifiErrorCode CheckCanUseP2p(); */ WifiErrorCode SetMiracastSinkConfig(const char* config); +/** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return WifiErrorCode - operation result + */ +WifiErrorCode SetP2pHighPerf(bool isEnable); + #ifdef __cplusplus } #endif diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp index 7080ae844..31124dd20 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp @@ -51,6 +51,7 @@ sptr HalDeviceManager::g_chipIfaceCallback = nullptr; OnChipServiceDied HalDeviceManager::g_chipHdiServiceDiedCb = nullptr; constexpr int32_t CMD_SET_MAX_CONNECT = 102; constexpr int32_t MAX_CONNECT_DEFAULT = 8; +constexpr int32_t CMD_SET_P2P_HIGH_PERF = 103; HalDeviceManager::HalDeviceManager() { @@ -848,6 +849,14 @@ bool HalDeviceManager::SetMaxConnectNum(const std::string &ifaceName, int32_t ch return SendCmdToDriver(ifaceName, ifaceName, CMD_SET_MAX_CONNECT, param, result); } +bool HalDeviceManager::SetP2pHighPerf(const std::string &ifaceName, bool isEnable) +{ + std::string param = std::to_string(isEnable); + LOGI("SetP2pHighPerf param is %{public}s", param.c_str()); + std::string result; + return SendCmdToDriver(ifaceName, ifaceName, CMD_SET_P2P_HIGH_PERF, param, result); +} + void HalDeviceManager::ResetHalDeviceManagerInfo(bool isRemoteDied) { std::lock_guard lock(mMutex); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.h index d10beafc9..84b0d1a40 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.h @@ -432,6 +432,14 @@ public: */ bool SetMaxConnectNum(const std::string &ifaceName, int32_t channel, int32_t maxConn); + /** + * @Description Set p2p high perf mode + * @param interfaceName interfaceName + * @param isEnable - enable high perf mode or not + * @return bool + */ + bool SetP2pHighPerf(const std::string &ifaceName, bool isEnable); + void RegisterChipHdiDeathCallback(OnChipServiceDied cb); private: bool CheckReloadChipHdiService(); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.cpp index e362bc0aa..efc274ab2 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.cpp @@ -574,5 +574,17 @@ WifiErrorNo WifiP2PHalInterface::TempGroupAdd(int freq) #endif return WIFI_HAL_OPT_FAILED; } + +WifiErrorNo WifiP2PHalInterface::SetP2pHighPerf(bool isEnable) +{ +#ifdef HDI_WPA_INTERFACE_SUPPORT + std::string ifName = WifiConfigCenter::GetInstance().GetP2pIfaceName(); + if (!HalDeviceManager::GetInstance().SetP2pHighPerf(ifName, isEnable)) { + return WIFI_HAL_OPT_FAILED; + } + return WIFI_HAL_OPT_OK; +#endif + return WIFI_HAL_OPT_FAILED; +} } // namespace Wifi } // namespace OHOS \ No newline at end of file diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.h index 5e635e5f9..c002d4bb9 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_p2p_hal_interface.h @@ -509,6 +509,14 @@ public: WifiErrorNo TempGroupAdd(int freq); WifiErrorNo P2pSetTempConfig(int networkId, const HalP2pGroupConfig &config) const; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return WifiErrorNo + */ + WifiErrorNo SetP2pHighPerf(bool isEnable); private: P2pHalCallback mP2pCallback; }; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/ip2p_service.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/ip2p_service.h index 7b2484fd5..8d7fd7bdd 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/ip2p_service.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/ip2p_service.h @@ -365,6 +365,14 @@ public: * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED */ virtual ErrCode SetMiracastSinkConfig(const std::string& config) = 0; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED + */ + virtual ErrCode SetP2pHighPerf(bool isEnable) = 0; }; } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_define.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_define.h index 0620c6f44..8806dd27d 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_define.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_define.h @@ -119,6 +119,7 @@ enum class P2P_STATE_MACHINE_CMD { CMD_UNREGISTER_SERVICE_CB, CMD_CLEAR_SERVICE_CB, CMD_SET_MIRACAST_SINK_CONFIG, + CMD_SET_P2P_HIGH_PERF, /* monitor to state machine */ WPA_CONNECTED_EVENT = 100, // result of connect diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.cpp index 2bfb84836..1e9de753e 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.cpp @@ -129,6 +129,8 @@ void P2pEnabledState::InitProcessMsg() [this](InternalMessagePtr msg) { return this->ProcessChrReport(msg); })); mProcessFunMap.insert(std::make_pair(P2P_STATE_MACHINE_CMD::CMD_SET_MIRACAST_SINK_CONFIG, [this](InternalMessagePtr msg) { return this->ProcessSetMiracastSinkConfig(msg); })); + mProcessFunMap.insert(std::make_pair(P2P_STATE_MACHINE_CMD::CMD_SET_P2P_HIGH_PERF, + [this](InternalMessagePtr msg) { return this->ProcessSetP2pHighPerf(msg); })); } bool P2pEnabledState::ProcessCmdDisable(InternalMessagePtr msg) const @@ -712,5 +714,13 @@ bool P2pEnabledState::ProcessSetMiracastSinkConfig(InternalMessagePtr msg) const WifiP2PHalInterface::GetInstance().SetMiracastSinkConfig(config); return EXECUTED; } + +bool P2pEnabledState::ProcessSetP2pHighPerf(InternalMessagePtr msg) const +{ + const bool isEnable = msg->GetParam1(); + WIFI_LOGI("P2pEnabledState receive set p2p high perf mode, isEnable: %{public}d", isEnable); + WifiP2PHalInterface::GetInstance().SetP2pHighPerf(isEnable); + return EXECUTED; +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.h index 0b83deb9d..9311f163f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_enabled_state.h @@ -285,6 +285,15 @@ private: * @return - bool true:handle false:not handle */ virtual bool ProcessSetMiracastSinkConfig(InternalMessagePtr msg) const; + + /** + * @Description Set p2p high perf mode + * + * @param Message body sent by the state machine + * @return - bool true:handle false:not handle + */ + virtual bool ProcessSetP2pHighPerf(InternalMessagePtr msg) const; + private: void P2pConfigInitExt(bool &result); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp index e8845c6c8..efe26588f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp @@ -292,5 +292,10 @@ ErrCode P2pInterface::SetMiracastSinkConfig(const std::string& config) { return p2pService.SetMiracastSinkConfig(config); } + +ErrCode P2pInterface::SetP2pHighPerf(bool isEnable) +{ + return p2pService.SetP2pHighPerf(isEnable); +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.h index 7f932e09b..1b2a937b6 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.h @@ -377,6 +377,14 @@ public: * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED */ virtual ErrCode SetMiracastSinkConfig(const std::string& config) override; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED + */ + virtual ErrCode SetP2pHighPerf(bool isEnable) override; private: WifiP2pGroupManager groupManager; /* group manager */ WifiP2pDeviceManager deviceMgr; /* device manager */ diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp index 82a1dacca..30034802f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp @@ -530,5 +530,12 @@ ErrCode WifiP2pService::SetMiracastSinkConfig(const std::string& config) p2pStateMachine.SendMessage(static_cast(P2P_STATE_MACHINE_CMD::CMD_SET_MIRACAST_SINK_CONFIG), info); return WIFI_OPT_SUCCESS; } + +ErrCode WifiP2pService::SetP2pHighPerf(bool isEnable) +{ + WIFI_LOGI("SetP2pHighPerf"); + p2pStateMachine.SendMessage(static_cast(P2P_STATE_MACHINE_CMD::CMD_SET_P2P_HIGH_PERF), isEnable); + return WIFI_OPT_SUCCESS; +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.h index 62a5fe078..fb167e5e2 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.h @@ -347,6 +347,14 @@ public: * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED */ virtual ErrCode SetMiracastSinkConfig(const std::string& config) override; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return success: WIFI_OPT_SUCCESS, failed: WIFI_OPT_FAILED + */ + virtual ErrCode SetP2pHighPerf(bool isEnable) override; private: /** * @Description - P2P state machine deregistration event callback. diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp index db4a76b2f..54e10660b 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp @@ -1635,5 +1635,22 @@ ErrCode WifiP2pServiceImpl::GetSupportedChanForBand(std::vector &channels, } return WIFI_OPT_SUCCESS; } + +ErrCode WifiP2pServiceImpl::SetP2pHighPerf(bool isEnable) +{ + WIFI_LOGI("SetP2pHighPerf"); + + if (!IsP2pServiceRunning()) { + WIFI_LOGE("P2pService is not running!"); + return WIFI_OPT_P2P_NOT_OPENED; + } + + IP2pService *pService = WifiServiceManager::GetInstance().GetP2pServiceInst(); + if (pService == nullptr) { + WIFI_LOGE("Get P2P service failed!"); + return WIFI_OPT_P2P_NOT_OPENED; + } + return pService->SetP2pHighPerf(isEnable); +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.h index 794af3458..c540eeb6b 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.h @@ -453,6 +453,14 @@ public: * @return ErrCode - operation result */ ErrCode GetSupportedChanForBand(std::vector &channels, int band) override; + + /** + * @Description Set p2p high perf mode + * + * @param isEnable - enable high perf mode or not + * @return ErrCode - operation result + */ + ErrCode SetP2pHighPerf(bool isEnable) override; private: bool Init(); ErrCode CheckCanEnableP2p(void); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp index 11a564f09..c7cefcfb6 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp @@ -122,6 +122,10 @@ void WifiP2pStub::InitHandleMapExPart3() [this](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { OnGetSupportChanForBand(code, data, reply, option); }; + handleFuncMap[static_cast(P2PInterfaceCode::WIFI_SVR_CMD_SET_P2P_HIGH_PERF_MODE)] = + [this](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { + OnSetP2pHighPerf(code, data, reply, option); + }; } void WifiP2pStub::InitHandleMap() @@ -1153,5 +1157,16 @@ void WifiP2pStub::OnGetSupportChanForBand( } } } + +void WifiP2pStub::OnSetP2pHighPerf( + uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) +{ + bool isEnable = data.ReadBool(); + WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu, isEnable = %{public}d", __func__, code, data.GetRawDataSize(), isEnable); + + ErrCode ret = SetP2pHighPerf(isEnable); + reply.WriteInt32(0); + reply.WriteInt32(ret); +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.h index 8bb45bd9f..9cf84ee27 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.h @@ -106,7 +106,7 @@ private: void OnSetMiracastSinkConfig( uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); void OnGetSupportChanForBand(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); - + void OnSetP2pHighPerf(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); private: HandleFuncMap handleFuncMap; std::mutex deathRecipientMutex; diff --git a/wifi/test/fuzztest/wifi_sta/wifip2pstub_fuzzer/wifip2pstub_fuzzer.cpp b/wifi/test/fuzztest/wifi_sta/wifip2pstub_fuzzer/wifip2pstub_fuzzer.cpp index 52005100f..09c784818 100644 --- a/wifi/test/fuzztest/wifi_sta/wifip2pstub_fuzzer/wifip2pstub_fuzzer.cpp +++ b/wifi/test/fuzztest/wifi_sta/wifip2pstub_fuzzer/wifip2pstub_fuzzer.cpp @@ -704,6 +704,19 @@ void OnGetSupportChanForBandTest(const uint8_t* data, size_t size) datas, reply, option); } +void OnSetP2pHighPerfTest(const uint8_t* data, size_t size) +{ + MessageParcel datas; + datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); + datas.WriteInt32(0); + datas.WriteBuffer(data, size); + MessageParcel reply; + MessageOption option; + pWifiDeviceStub->OnRemoteRequest( + static_cast(P2PInterfaceCode::WIFI_SVR_CMD_SET_P2P_HIGH_PERF_MODE), + datas, reply, option); +} + /* Fuzzer entry point */ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.cpp index c9d71250b..70300a4c7 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.cpp @@ -441,6 +441,11 @@ ErrCode WifiMockP2pService::SetMiracastSinkConfig(const std::string& config) return WIFI_OPT_SUCCESS; } +ErrCode WifiMockP2pService::SetP2pHighPerf(bool isEnable) +{ + return WIFI_OPT_SUCCESS; +} + extern "C" IP2pService *Create(void) { return new (std::nothrow) WifiMockP2pService(); diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.h b/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.h index f03716b89..7a278a836 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/unittest/wifi_mock_p2p_service.h @@ -55,7 +55,7 @@ public: ErrCode GetRptStationsList(std::vector &result); void NotifyWscDialogConfirmResult(bool isAccept); ErrCode SetMiracastSinkConfig(const std::string& config); - + ErrCode SetP2pHighPerf(bool isEnable); public: IP2pServiceCallbacks mCallback; }; diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp index 4d35247e7..c69deb35b 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp @@ -242,5 +242,10 @@ ErrCode P2pInterface::SetMiracastSinkConfig(const std::string& config) { return WIFI_OPT_SUCCESS; } + +ErrCode P2pInterface::SetP2pHighPerf(bool isEnable) +{ + return WIFI_OPT_SUCCESS; +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.h b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.h index ec19c6b1a..69c1d2c35 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.h @@ -69,6 +69,7 @@ public: virtual ErrCode GetRptStationsList(std::vector &result); virtual void NotifyWscDialogConfirmResult(bool isAccept); virtual ErrCode SetMiracastSinkConfig(const std::string& config); + virtual ErrCode SetP2pHighPerf(bool isEnable); }; } // namespace Wifi } // namespace OHOS diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_wifi_p2p_hal_interface.h b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_wifi_p2p_hal_interface.h index 6fc778d23..8ad543b56 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_wifi_p2p_hal_interface.h +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_wifi_p2p_hal_interface.h @@ -93,6 +93,7 @@ public: virtual WifiErrorNo GroupClientRemove(const std::string &deviceMac) const = 0; virtual WifiErrorNo P2pReject(const std::string &mac); virtual WifiErrorNo SetMiracastSinkConfig(const std::string &config); + virtual WifiErrorNo SetP2pHighPerf(bool isEnable); }; class WifiP2PHalInterface : public MockWifiP2PHalInterface { @@ -164,6 +165,7 @@ public: MOCK_CONST_METHOD1(GroupClientRemove, WifiErrorNo(const std::string &deviceMac)); MOCK_METHOD1(P2pReject, WifiErrorNo(const std::string &mac)); MOCK_METHOD1(SetMiracastSinkConfig, WifiErrorNo(const std::string &config)); + MOCK_METHOD1(SetP2pHighPerf, WifiErrorNo(bool isEnable)); }; } // namespace Wifi } // namespace OHOS -- Gitee From e842f24bf60c94b07321d2546c9fe76a58d56a76 Mon Sep 17 00:00:00 2001 From: z30045325 Date: Wed, 30 Jul 2025 17:52:11 +0800 Subject: [PATCH 4/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- wifi/BUILD.gn | 2 -- 1 file changed, 2 deletions(-) diff --git a/wifi/BUILD.gn b/wifi/BUILD.gn index c79b454dd..3c4ae54cb 100644 --- a/wifi/BUILD.gn +++ b/wifi/BUILD.gn @@ -11,7 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License. - if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") import("//foundation/communication/wifi/wifi/wifi_lite.gni") @@ -26,6 +25,5 @@ if (defined(ohos_lite)) { "$WIFI_ROOT_DIR/utils:wifi_utils", ] features = [] - } } -- Gitee From bf8b733cd1247fd7e04eb2c8068f4c2393188a5d Mon Sep 17 00:00:00 2001 From: z30045325 Date: Wed, 30 Jul 2025 19:42:39 +0800 Subject: [PATCH 5/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- .../wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp | 2 +- .../wifi_manage/wifi_p2p/wifi_p2p_service.cpp | 6 +++--- .../wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp | 4 ++-- .../wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp index efe26588f..ec603a469 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/p2p_interface.cpp @@ -295,7 +295,7 @@ ErrCode P2pInterface::SetMiracastSinkConfig(const std::string& config) ErrCode P2pInterface::SetP2pHighPerf(bool isEnable) { - return p2pService.SetP2pHighPerf(isEnable); + return p2pService.SetP2pHighPerf(isEnable); } } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp index 30034802f..a4e92fd57 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/wifi_p2p_service.cpp @@ -533,9 +533,9 @@ ErrCode WifiP2pService::SetMiracastSinkConfig(const std::string& config) ErrCode WifiP2pService::SetP2pHighPerf(bool isEnable) { - WIFI_LOGI("SetP2pHighPerf"); - p2pStateMachine.SendMessage(static_cast(P2P_STATE_MACHINE_CMD::CMD_SET_P2P_HIGH_PERF), isEnable); - return WIFI_OPT_SUCCESS; + WIFI_LOGI("SetP2pHighPerf"); + p2pStateMachine.SendMessage(static_cast(P2P_STATE_MACHINE_CMD::CMD_SET_P2P_HIGH_PERF), isEnable); + return WIFI_OPT_SUCCESS; } } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp index c7cefcfb6..5ea7511ab 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_stub.cpp @@ -1159,10 +1159,10 @@ void WifiP2pStub::OnGetSupportChanForBand( } void WifiP2pStub::OnSetP2pHighPerf( - uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) + uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { bool isEnable = data.ReadBool(); - WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu, isEnable = %{public}d", __func__, code, data.GetRawDataSize(), isEnable); + WIFI_LOGD("run %{public}s code %{public}u, isEnable = %{public}d", __func__, code, isEnable); ErrCode ret = SetP2pHighPerf(isEnable); reply.WriteInt32(0); diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp index c69deb35b..294d9f2cf 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/Mock/mock_p2p_interface.cpp @@ -245,7 +245,7 @@ ErrCode P2pInterface::SetMiracastSinkConfig(const std::string& config) ErrCode P2pInterface::SetP2pHighPerf(bool isEnable) { - return WIFI_OPT_SUCCESS; + return WIFI_OPT_SUCCESS; } } // namespace Wifi } // namespace OHOS -- Gitee From 2f43aecd49b50f8e923f609bfa95b1a5eef46d7a Mon Sep 17 00:00:00 2001 From: z30045325 Date: Fri, 1 Aug 2025 15:15:48 +0800 Subject: [PATCH 6/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- .../wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp index 54e10660b..13313ea18 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp @@ -1640,6 +1640,16 @@ ErrCode WifiP2pServiceImpl::SetP2pHighPerf(bool isEnable) { WIFI_LOGI("SetP2pHighPerf"); + if (WifiPermissionUtils::VerifyGetWifiInfoPermission() == PERMISSION_DENIED) { + WIFI_LOGE("SetP2pHighPerf:VerifyGetWifiInfoPermission PERMISSION_DENIED!"); + return WIFI_OPT_PERMISSION_DENIED; + } + + if (WifiPermissionUtils::VerifySetWifiInfoPermission() == PERMISSION_DENIED) { + WIFI_LOGE("SetP2pHighPerf:VerifySetWifiInfoPermission PERMISSION_DENIED!"); + return WIFI_OPT_PERMISSION_DENIED; + } + if (!IsP2pServiceRunning()) { WIFI_LOGE("P2pService is not running!"); return WIFI_OPT_P2P_NOT_OPENED; -- Gitee From 01e79fb1a9b84eae7acaf292067c0d37b420a10d Mon Sep 17 00:00:00 2001 From: z30045325 Date: Fri, 1 Aug 2025 17:24:37 +0800 Subject: [PATCH 7/7] Description:set p2p high perf mode. Feature or Bugfix:Feature Binary Source:No Signed-off-by: z30045325 --- .../wifi_native/hal_device_manage/hal_device_manage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp index 31124dd20..6ed49391a 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/hal_device_manage/hal_device_manage.cpp @@ -851,7 +851,7 @@ bool HalDeviceManager::SetMaxConnectNum(const std::string &ifaceName, int32_t ch bool HalDeviceManager::SetP2pHighPerf(const std::string &ifaceName, bool isEnable) { - std::string param = std::to_string(isEnable); + std::string param = std::to_string(static_cast(isEnable)); LOGI("SetP2pHighPerf param is %{public}s", param.c_str()); std::string result; return SendCmdToDriver(ifaceName, ifaceName, CMD_SET_P2P_HIGH_PERF, param, result); -- Gitee