[WifiCoex] Add enum for wifi coex restrictions

Add custom enum for wifi coex restrictions since IfaceType is not
suitable for use as a bitmask flag since it does not represent bit
positions.

Bug: 153651001
Test: build
Change-Id: I15575ea12784a778a3b358eea1b05b75319aa95b
diff --git a/wifi/1.5/IWifiChip.hal b/wifi/1.5/IWifiChip.hal
index e9caa3d..80f2ca4 100644
--- a/wifi/1.5/IWifiChip.hal
+++ b/wifi/1.5/IWifiChip.hal
@@ -17,7 +17,6 @@
 package android.hardware.wifi@1.5;
 
 import @1.0::WifiStatus;
-import @1.0::IfaceType;
 import @1.5::IWifiApIface;
 import @1.0::IWifiIface;
 import @1.3::IWifiChip;
@@ -187,6 +186,12 @@
         NO_POWER_CAP = 0x7FFFFFFF,
     };
 
+    enum CoexRestriction : uint32_t {
+        WIFI_DIRECT = 1 << 0,
+        SOFTAP = 1 << 1,
+        WIFI_AWARE = 1 << 2
+    };
+
     /**
      * Invoked to indicate that the provided |CoexUnsafeChannels| should be avoided with the
      * specified restrictions.
@@ -194,13 +199,14 @@
      * Channel avoidance is a suggestion and should be done on a best-effort approach. If a provided
      * channel is used, then the specified power cap should be applied.
      *
-     * In addition, hard restrictions on the Wifi modes may be indicated by |IfaceType| bits
-     * (STA, AP, P2P, NAN, etc) in the |restrictions| bitfield. If a hard restriction is provided,
-     * then the channels should be completely avoided for the provided Wifi modes instead of by
-     * best-effort.
+     * In addition, hard restrictions on the Wifi modes may be indicated by |CoexRestriction| bits
+     * (WIFI_DIRECT, SOFTAP, WIFI_AWARE) in the |restrictions| bitfield. If a hard restriction is
+     * provided, then the channels should be completely avoided for the provided Wifi modes instead
+     * of by best-effort.
      *
      * @param unsafeChannels List of |CoexUnsafeChannels| to avoid.
-     * @param restrictions Bitset of |IfaceType| values indicating Wifi modes to completely avoid.
+     * @param restrictions Bitset of |CoexRestriction| values indicating Wifi interfaces to
+     *         completely avoid.
      * @return status WifiStatus of the operation.
      *         Possible status codes:
      *         |WifiStatusCode.SUCCESS|,
@@ -208,6 +214,6 @@
      *         |WifiStatusCode.ERROR_INVALID_ARGS|,
      */
     setCoexUnsafeChannels(
-        vec<CoexUnsafeChannel> unsafeChannels, bitfield<IfaceType> restrictions)
+        vec<CoexUnsafeChannel> unsafeChannels, bitfield<CoexRestriction> restrictions)
             generates (WifiStatus status);
 };