From 05e636413bc3242c1d4413ee55ad740e476dc2ed Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Thu, 23 Dec 2021 23:50:20 +0800 Subject: [PATCH] p2p: support find a specific channel Bug: 159094739 Test: atest VtsHalWifiSupplicantStaIfaceTargetTest \ VtsHalWifiSupplicantStaNetworkTargetTest \ VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: Ia55b0b13588f9df39a53ccc945c43f2ba7c962f1 --- .../wifi/supplicant/ISupplicantP2pIface.aidl | 2 ++ .../wifi/supplicant/ISupplicantP2pIface.aidl | 34 ++++++++++++++++++- .../supplicant_p2p_iface_aidl_test.cpp | 14 ++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index ca7be7311f..7fdc1f3b31 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -92,4 +92,6 @@ interface ISupplicantP2pIface { String startWpsPinDisplay(in String groupIfName, in byte[] bssid); void startWpsPinKeypad(in String groupIfName, in String pin); void stopFind(); + void findOnSocialChannels(in int timeoutInSec); + void findOnSpecificFrequency(in int freqInHz, in int timeoutInSec); } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 64839e7cc8..e26842a75a 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -237,7 +237,7 @@ interface ISupplicantP2pIface { * Initiate a P2P service discovery with an optional timeout. * * @param timeoutInSec Max time to be spent is performing discovery. - * Set to 0 to indefinely continue discovery until an explicit + * Set to 0 to indefinitely continue discovery until an explicit * |stopFind| is sent. * @throws ServiceSpecificException with one of the following values: * |SupplicantStatusCode.FAILURE_UNKNOWN|, @@ -767,4 +767,36 @@ interface ISupplicantP2pIface { * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| */ void stopFind(); + + /** + * Initiate a P2P device discovery only on social channels. + * + * Full P2P discovery is performed through |ISupplicantP2pIface.find| method. + * + * @param timeoutInSec The maximum amount of time that should be spent in performing device + * discovery. + * Set to 0 to indefinitely continue discovery until an explicit + * |stopFind| is sent. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| + */ + void findOnSocialChannels(in int timeoutInSec); + + /** + * Initiate a P2P device discovery on a specific frequency. + * + * Full P2P discovery is performed through |ISupplicantP2pIface.find| method. + * + * @param freqInHz the frequency to be scanned. + * @param timeoutInSec Max time to be spent is performing discovery. + * Set to 0 to indefinitely continue discovery until an explicit + * |stopFind| is sent. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| + */ + void findOnSpecificFrequency(in int freqInHz, in int timeoutInSec); } diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 10aab4d414..470a9b017f 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -480,6 +480,20 @@ TEST_P(SupplicantP2pIfaceAidlTest, Find) { EXPECT_TRUE(p2p_iface_->find(kTestFindTimeout).isOk()); } +/* + * FindSocialChannelsOnly + */ +TEST_P(SupplicantP2pIfaceAidlTest, FindSocialChannelsOnly) { + EXPECT_TRUE(p2p_iface_->findOnSocialChannels(kTestFindTimeout).isOk()); +} + +/* + * FindSpecificFrequency + */ +TEST_P(SupplicantP2pIfaceAidlTest, FindSpecificFrequency) { + EXPECT_TRUE(p2p_iface_->findOnSpecificFrequency(2412, kTestFindTimeout).isOk()); +} + /* * StopFind */