Merge "wifi: Modified API for P2pProvisionDiscoveryCompleted event" into main

This commit is contained in:
Sunil Ravi
2023-11-21 17:54:10 +00:00
committed by Android (Google) Code Review
5 changed files with 114 additions and 0 deletions

View File

@@ -45,6 +45,9 @@ interface ISupplicantP2pIfaceCallback {
oneway void onGroupStarted(in String groupIfname, in boolean isGroupOwner, in byte[] ssid, in int frequency, in byte[] psk, in String passphrase, in byte[] goDeviceAddress, in boolean isPersistent);
oneway void onInvitationReceived(in byte[] srcAddress, in byte[] goDeviceAddress, in byte[] bssid, in int persistentNetworkId, in int operatingFrequency);
oneway void onInvitationResult(in byte[] bssid, in android.hardware.wifi.supplicant.P2pStatusCode status);
/**
* @deprecated This callback is deprecated from AIDL v3, newer HAL should call onProvisionDiscoveryCompletedEvent.
*/
oneway void onProvisionDiscoveryCompleted(in byte[] p2pDeviceAddress, in boolean isRequest, in android.hardware.wifi.supplicant.P2pProvDiscStatusCode status, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in String generatedPin);
oneway void onR2DeviceFound(in byte[] srcAddress, in byte[] p2pDeviceAddress, in byte[] primaryDeviceType, in String deviceName, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in byte deviceCapabilities, in android.hardware.wifi.supplicant.P2pGroupCapabilityMask groupCapabilities, in byte[] wfdDeviceInfo, in byte[] wfdR2DeviceInfo);
oneway void onServiceDiscoveryResponse(in byte[] srcAddress, in char updateIndicator, in byte[] tlvs);
@@ -61,4 +64,5 @@ interface ISupplicantP2pIfaceCallback {
oneway void onGroupStartedWithParams(in android.hardware.wifi.supplicant.P2pGroupStartedEventParams groupStartedEventParams);
oneway void onPeerClientJoined(in android.hardware.wifi.supplicant.P2pPeerClientJoinedEventParams clientJoinedEventParams);
oneway void onPeerClientDisconnected(in android.hardware.wifi.supplicant.P2pPeerClientDisconnectedEventParams clientDisconnectedEventParams);
oneway void onProvisionDiscoveryCompletedEvent(in android.hardware.wifi.supplicant.P2pProvisionDiscoveryCompletedEventParams provisionDiscoveryCompletedEventParams);
}

View File

@@ -0,0 +1,43 @@
/*
* 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 P2pProvisionDiscoveryCompletedEventParams {
byte[6] p2pDeviceAddress;
boolean isRequest;
android.hardware.wifi.supplicant.P2pProvDiscStatusCode status;
android.hardware.wifi.supplicant.WpsConfigMethods configMethods;
String generatedPin;
String groupInterfaceName;
}

View File

@@ -21,6 +21,7 @@ import android.hardware.wifi.supplicant.P2pGroupStartedEventParams;
import android.hardware.wifi.supplicant.P2pPeerClientDisconnectedEventParams;
import android.hardware.wifi.supplicant.P2pPeerClientJoinedEventParams;
import android.hardware.wifi.supplicant.P2pProvDiscStatusCode;
import android.hardware.wifi.supplicant.P2pProvisionDiscoveryCompletedEventParams;
import android.hardware.wifi.supplicant.P2pStatusCode;
import android.hardware.wifi.supplicant.WpsConfigMethods;
import android.hardware.wifi.supplicant.WpsDevPasswordId;
@@ -144,6 +145,9 @@ oneway interface ISupplicantP2pIfaceCallback {
/**
* Used to indicate the completion of a P2P provision discovery request.
* <p>
* @deprecated This callback is deprecated from AIDL v3, newer HAL should call
* onProvisionDiscoveryCompletedEvent.
*
* @param p2pDeviceAddress P2P device address.
* @param isRequest Whether we received or sent the provision discovery.
@@ -275,4 +279,13 @@ oneway interface ISupplicantP2pIfaceCallback {
*/
void onPeerClientDisconnected(
in P2pPeerClientDisconnectedEventParams clientDisconnectedEventParams);
/**
* Used to indicate the completion of a P2P provision discovery request.
*
* @param provisionDiscoveryCompletedEventParams Parameters associated with
* P2P provision discovery frame notification.
*/
void onProvisionDiscoveryCompletedEvent(
in P2pProvisionDiscoveryCompletedEventParams provisionDiscoveryCompletedEventParams);
}

View File

@@ -0,0 +1,48 @@
/*
* 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.supplicant.P2pProvDiscStatusCode;
import android.hardware.wifi.supplicant.WpsConfigMethods;
/**
* Parameters passed as a part of P2P provision discovery frame notification.
*/
@VintfStability
parcelable P2pProvisionDiscoveryCompletedEventParams {
/**
* P2P device interface MAC address of the device who sent the request or responded to our
* request.
*/
byte[6] p2pDeviceAddress;
/** True if this is a request, false if this is a response. */
boolean isRequest;
/** Status of the provision discovery */
P2pProvDiscStatusCode status;
/** Mask of WPS configuration methods supported */
WpsConfigMethods configMethods;
/** 8-digit pin generated */
String generatedPin;
/**
* Interface name of this device group owner. (For ex: p2p-p2p0-1)
* This field is filled only when the provision discovery request is received
* with P2P Group ID attribute. i.e., when the peer device is joining this
* device operating P2P group.
* Refer to WFA Wi-Fi_Direct_Specification_v1.9 section 3.2.1 for more details.
*/
String groupInterfaceName;
}

View File

@@ -41,6 +41,7 @@ using aidl::android::hardware::wifi::supplicant::P2pGroupStartedEventParams;
using aidl::android::hardware::wifi::supplicant::P2pPeerClientDisconnectedEventParams;
using aidl::android::hardware::wifi::supplicant::P2pPeerClientJoinedEventParams;
using aidl::android::hardware::wifi::supplicant::P2pProvDiscStatusCode;
using aidl::android::hardware::wifi::supplicant::P2pProvisionDiscoveryCompletedEventParams;
using aidl::android::hardware::wifi::supplicant::P2pStatusCode;
using aidl::android::hardware::wifi::supplicant::SupplicantStatusCode;
using aidl::android::hardware::wifi::supplicant::WpsConfigMethods;
@@ -193,6 +194,11 @@ class SupplicantP2pIfaceCallback : public BnSupplicantP2pIfaceCallback {
override {
return ndk::ScopedAStatus::ok();
}
::ndk::ScopedAStatus onProvisionDiscoveryCompletedEvent(
const P2pProvisionDiscoveryCompletedEventParams&
/* provisionDiscoveryCompletedEventParams */) override {
return ndk::ScopedAStatus::ok();
}
};
class SupplicantP2pIfaceAidlTest : public testing::TestWithParam<std::string> {