Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db87e8d0 authored by Sunil Ravi's avatar Sunil Ravi
Browse files

wifi: Support for P2P Compatibility Mode

This CL includes,
1. Added API to get the features supported by P2P interface.
2. Added Authentication Key management protocol field in
Group started event and Peer client joined event. This is to
get the security type of Group.

Bug: 341971059
Test: Manual - Basic P2P connect/disconnect tests
Test: TH Presubmit tests
Test: atest VtsHalWifiSupplicantStaIfaceTargetTest \
      VtsHalWifiSupplicantStaNetworkTargetTest \
      VtsHalWifiSupplicantP2pIfaceTargetTest
Change-Id: I4f06db96e602485b85b6002ce2745ebfc5e44f2d
parent 5ceff283
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -123,4 +123,7 @@ interface ISupplicantP2pIface {
  void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo);
  void addGroupWithConfigurationParams(in android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams groupConfigurationParams);
  void createGroupOwner(in android.hardware.wifi.supplicant.P2pCreateGroupOwnerInfo groupOwnerInfo);
  long getFeatureSet();
  const long P2P_FEATURE_V2 = (1 << 0) /* 1 */;
  const long P2P_FEATURE_PCC_MODE_WPA3_COMPATIBILITY = (1 << 1) /* 2 */;
}
+1 −0
Original line number Diff line number Diff line
@@ -46,4 +46,5 @@ parcelable P2pGroupStartedEventParams {
  boolean isP2pClientEapolIpAddressInfoPresent;
  android.hardware.wifi.supplicant.P2pClientEapolIpAddressInfo p2pClientIpInfo;
  @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData;
  int keyMgmtMask;
}
+1 −0
Original line number Diff line number Diff line
@@ -39,4 +39,5 @@ parcelable P2pPeerClientJoinedEventParams {
  byte[6] clientDeviceAddress;
  int clientIpAddress;
  @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData;
  int keyMgmtMask;
}
+19 −0
Original line number Diff line number Diff line
@@ -38,6 +38,15 @@ import android.hardware.wifi.supplicant.WpsProvisionMethod;
 */
@VintfStability
interface ISupplicantP2pIface {
    /**
     * P2P features exposed by wpa_supplicant/chip.
     */
    /* Support for P2P2 (Wi-Fi Alliance P2P v2.0) */
    const long P2P_FEATURE_V2 = 1 << 0;

    /* Support for WPA3 Compatibility Mode in PCC Mode */
    const long P2P_FEATURE_PCC_MODE_WPA3_COMPATIBILITY = 1 << 1;

    /**
     * This command can be used to add a bonjour service.
     *
@@ -938,4 +947,14 @@ interface ISupplicantP2pIface {
     *         |SupplicantStatusCode.FAILURE_IFACE_INVALID|
     */
    void createGroupOwner(in P2pCreateGroupOwnerInfo groupOwnerInfo);

    /**
     * Get the features supported by P2P interface.
     *
     * @return The bitmask of ISupplicantP2pIface.P2P_FEATURE_* values.
     *
     * @throws ServiceSpecificException with one of the following values:
     *         |SupplicantStatusCode.FAILURE_UNKNOWN|
     */
    long getFeatureSet();
}
+6 −0
Original line number Diff line number Diff line
@@ -70,4 +70,10 @@ parcelable P2pGroupStartedEventParams {
     * that no vendor data is provided.
     */
    @nullable OuiKeyedData[] vendorData;

    /**
     * Authentication key management protocol used to secure the group.
     * This is a bitmask of |KeyMgmtMask| values.
     */
    int keyMgmtMask;
}
Loading