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

Commit 793ebcc1 authored by Gabriel Biren's avatar Gabriel Biren Committed by Android (Google) Code Review
Browse files

Merge changes from topic "vendor-hal-params" into main

* changes:
  Update the Vendor HAL and compatibility matrix to implement V2 of the Vendor HAL interface.
  Add an API to the Vendor HAL to create an AP or Bridged AP iface using vendor-specific parameters.
parents 4cd155d4 aa9bd83d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@
    </hal>
    <hal format="aidl" optional="true" updatable-via-apex="true">
        <name>android.hardware.wifi</name>
        <version>1</version>
        <version>1-2</version>
        <interface>
            <name>IWifi</name>
            <instance>default</instance>
+7 −2
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@ aidl_interface {
    srcs: [
        "android/hardware/wifi/*.aidl",
    ],
    imports: [
        "android.hardware.wifi.common-V1",
    ],
    stability: "vintf",
    backend: {
        java: {
@@ -42,6 +45,9 @@ aidl_interface {
                enabled: false,
            },
        },
        cpp: {
            enabled: false,
        },
    },
    versions_with_info: [
        {
@@ -49,6 +55,5 @@ aidl_interface {
            imports: [],
        },
    ],
    frozen: true,

    frozen: false,
}
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ interface IWifiChip {
  void triggerSubsystemRestart();
  void enableStaChannelForPeerNetwork(in int channelCategoryEnableFlag);
  void setMloMode(in android.hardware.wifi.IWifiChip.ChipMloMode mode);
  @PropagateAllowBlocking android.hardware.wifi.IWifiApIface createApOrBridgedApIface(in android.hardware.wifi.IfaceConcurrencyType iface, in android.hardware.wifi.common.OuiKeyedData[] vendorData);
  const int NO_POWER_CAP_CONSTANT = 0x7FFFFFFF;
  @Backing(type="int") @VintfStability
  enum FeatureSetMask {
+24 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.hardware.wifi.WifiDebugRingBufferVerboseLevel;
import android.hardware.wifi.WifiIfaceMode;
import android.hardware.wifi.WifiRadioCombination;
import android.hardware.wifi.WifiUsableChannel;
import android.hardware.wifi.common.OuiKeyedData;

/**
 * Interface that represents a chip that must be configured as a single unit.
@@ -1149,4 +1150,27 @@ interface IWifiChip {
     *
     */
    void setMloMode(in ChipMloMode mode);

    /**
     * Create an AP or bridged AP iface on the chip using vendor-provided configuration parameters.
     *
     * Depending on the mode the chip is configured in, the interface creation
     * may fail (code: |WifiStatusCode.ERROR_NOT_AVAILABLE|) if we've already
     * reached the maximum allowed (specified in |ChipIfaceCombination|) number
     * of ifaces of the AP or AP_BRIDGED type.
     *
     * @param  iface IfaceConcurrencyType to be created. Takes one of
               |IfaceConcurrencyType.AP| or |IfaceConcurrencyType.AP_BRIDGED|
     * @param  vendorData Vendor-provided configuration data as a list of |OuiKeyedData|.
     * @return AIDL interface object representing the iface if
     *         successful, null otherwise.
     * @throws ServiceSpecificException with one of the following values:
     *         |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
     *         |WifiStatusCode.ERROR_NOT_SUPPORTED|,
     *         |WifiStatusCode.ERROR_NOT_AVAILABLE|,
     *         |WifiStatusCode.ERROR_INVALID_ARGS|
     */
    @PropagateAllowBlocking
    IWifiApIface createApOrBridgedApIface(
            in IfaceConcurrencyType iface, in OuiKeyedData[] vendorData);
}
+5 −4
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ cc_library_static {
        "libwifi-hal",
        "libwifi-system-iface",
        "libxml2",
        "android.hardware.wifi-V1-ndk",
        "android.hardware.wifi-V2-ndk",
    ],

    export_include_dirs: ["."],
@@ -132,7 +132,7 @@ cc_binary {
        "libwifi-hal",
        "libwifi-system-iface",
        "libxml2",
        "android.hardware.wifi-V1-ndk",
        "android.hardware.wifi-V2-ndk",
    ],
    static_libs: ["android.hardware.wifi-service-lib"],
    init_rc: ["android.hardware.wifi-service.rc"],
@@ -161,7 +161,7 @@ cc_binary {
        "libwifi-hal",
        "libwifi-system-iface",
        "libxml2",
        "android.hardware.wifi-V1-ndk",
        "android.hardware.wifi-V2-ndk",
    ],
    static_libs: ["android.hardware.wifi-service-lib"],
    init_rc: ["android.hardware.wifi-service-lazy.rc"],
@@ -192,7 +192,8 @@ cc_test {
    static_libs: [
        "libgmock",
        "libgtest",
        "android.hardware.wifi-V1-ndk",
        "android.hardware.wifi-V2-ndk",
        "android.hardware.wifi.common-V1-ndk",
        "android.hardware.wifi-service-lib",
    ],
    shared_libs: [
Loading