P2p: Add OuiKeyedData List in ExtListen API

Add configureExtListenWithParams API to configure the vendor data as
OuiKeyedData List.

Bug: 296069900
Test: atest VtsHalWifiSupplicantP2pIfaceTargetTest
Change-Id: I7a6394b751ab61e1ca5153ce6ca6ddc55792900c
This commit is contained in:
Aleti Nageshwar Reddy 2023-12-21 12:02:55 +05:30 committed by Gabriel Biren
parent e3339a65bb
commit 9bba0a7215
4 changed files with 104 additions and 0 deletions

View file

@ -42,6 +42,9 @@ interface ISupplicantP2pIface {
void cancelConnect();
void cancelServiceDiscovery(in long identifier);
void cancelWps(in String groupIfName);
/**
* @deprecated This method is deprecated from AIDL v3, newer HALs should use configureExtListenWithParams.
*/
void configureExtListen(in int periodInMillis, in int intervalInMillis);
/**
* @deprecated This method is deprecated from AIDL v3, newer HALs should use connectWithParams.
@ -111,4 +114,5 @@ interface ISupplicantP2pIface {
void configureEapolIpAddressAllocationParams(in int ipAddressGo, in int ipAddressMask, in int ipAddressStart, in int ipAddressEnd);
String connectWithParams(in android.hardware.wifi.supplicant.P2pConnectInfo connectInfo);
void findWithParams(in android.hardware.wifi.supplicant.P2pDiscoveryInfo discoveryInfo);
void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo);
}

View file

@ -0,0 +1,40 @@
/**
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
// the interface (from the latest frozen version), the build system will
// prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.
package android.hardware.wifi.supplicant;
@VintfStability
parcelable P2pExtListenInfo {
int periodMs;
int intervalMs;
@nullable android.hardware.wifi.common.OuiKeyedData[] vendorData;
}

View file

@ -24,6 +24,7 @@ import android.hardware.wifi.supplicant.IfaceType;
import android.hardware.wifi.supplicant.MiracastMode;
import android.hardware.wifi.supplicant.P2pConnectInfo;
import android.hardware.wifi.supplicant.P2pDiscoveryInfo;
import android.hardware.wifi.supplicant.P2pExtListenInfo;
import android.hardware.wifi.supplicant.P2pFrameTypeMask;
import android.hardware.wifi.supplicant.P2pGroupCapabilityMask;
import android.hardware.wifi.supplicant.WpsConfigMethods;
@ -165,6 +166,9 @@ interface ISupplicantP2pIface {
* (with interval obviously having to be larger than or equal to duration).
* If the P2P module is not idle at the time the Extended Listen Timing
* timeout occurs, the Listen State operation must be skipped.
* <p>
* @deprecated This method is deprecated from AIDL v3, newer HALs should use
* configureExtListenWithParams.
*
* @param periodInMillis Period in milliseconds.
* @param intervalInMillis Interval in milliseconds.
@ -882,4 +886,21 @@ interface ISupplicantP2pIface {
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
void findWithParams(in P2pDiscoveryInfo discoveryInfo);
/**
* Configure Extended Listen Timing.
*
* If enabled, listen state must be entered every |intervalMs| for at
* least |periodMs|. Both values have acceptable range of 1-65535
* (note that the interval must be larger than or equal to the duration).
* If the P2P module is not idle at the time the Extended Listen Timing
* timeout occurs, the Listen State operation must be skipped.
*
* @param extListenInfo Parameters to configure extended listening timing.
* @throws ServiceSpecificException with one of the following values:
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
void configureExtListenWithParams(in P2pExtListenInfo extListenInfo);
}

View file

@ -0,0 +1,39 @@
/**
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.wifi.supplicant;
import android.hardware.wifi.common.OuiKeyedData;
/**
* Parameters used to configure the P2P Extended Listen Interval.
*/
@VintfStability
parcelable P2pExtListenInfo {
/**
* Period in milliseconds.
*/
int periodMs;
/**
* Interval in milliseconds.
*/
int intervalMs;
/**
* Optional vendor-specific parameters. Null value indicates
* that no vendor data is provided.
*/
@nullable OuiKeyedData[] vendorData;
}