Snap for 11889377 from 78574bf0b879a71876a24a7d5c340263ee46265f to 24Q3-release

Change-Id: Ief52e78a2331a0bf74ed0ad012e06e9f3b195ada
diff --git a/flags/wifi_flags.aconfig b/flags/wifi_flags.aconfig
index d02996c..42e165c 100644
--- a/flags/wifi_flags.aconfig
+++ b/flags/wifi_flags.aconfig
@@ -63,6 +63,14 @@
 }
 
 flag {
+    name: "get_channel_width_api"
+    namespace: "wifi"
+    description: "Add new API to get channel width"
+    bug: "335358378"
+    is_fixed_read_only: true
+}
+
+flag {
     name: "voip_detection"
     namespace: "wifi"
     description: "Detect VoIP over Wifi and execute optimization"
diff --git a/framework/api/current.txt b/framework/api/current.txt
index f48cfe8..a277bca 100644
--- a/framework/api/current.txt
+++ b/framework/api/current.txt
@@ -145,6 +145,7 @@
   public final class WifiAvailableChannel implements android.os.Parcelable {
     ctor public WifiAvailableChannel(int, int);
     method public int describeContents();
+    method @FlaggedApi("com.android.wifi.flags.get_channel_width_api") public int getChannelWidth();
     method public int getFrequencyMhz();
     method public int getOperationalModes();
     method public void writeToParcel(@NonNull android.os.Parcel, int);
diff --git a/framework/java/android/net/wifi/WifiAvailableChannel.java b/framework/java/android/net/wifi/WifiAvailableChannel.java
index 11a4054..4f3596d 100644
--- a/framework/java/android/net/wifi/WifiAvailableChannel.java
+++ b/framework/java/android/net/wifi/WifiAvailableChannel.java
@@ -15,12 +15,15 @@
  */
 package android.net.wifi;
 
+import android.annotation.FlaggedApi;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import com.android.wifi.flags.Flags;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.Objects;
@@ -124,9 +127,23 @@
      */
     private @OpMode int mOpModes;
 
+    /**
+     * Wifi channel bandwidth.
+     */
+    private @WifiAnnotations.ChannelWidth int mChannelWidth;
+
     public WifiAvailableChannel(int freq, @OpMode int opModes) {
+        this(freq, opModes, ScanResult.CHANNEL_WIDTH_20MHZ);
+    }
+
+    /**
+     * @hide
+     */
+    public WifiAvailableChannel(int freq, @OpMode int opModes,
+            @WifiAnnotations.ChannelWidth int channelWidth) {
         mFrequency = freq;
         mOpModes = opModes;
+        mChannelWidth = channelWidth;
     }
 
     private WifiAvailableChannel(@NonNull Parcel in) {
@@ -136,6 +153,7 @@
     private void readFromParcel(@NonNull Parcel in) {
         mFrequency = in.readInt();
         mOpModes = in.readInt();
+        mChannelWidth = in.readInt();
     }
 
     /**
@@ -164,6 +182,20 @@
                 | FILTER_CELLULAR_COEXISTENCE;
     }
 
+    /**
+     * Get the channel bandwidth, which indicates the amount of frequency spectrum allocated for
+     * data transmission within a channel.
+     *
+     * @return the bandwidth representation of the Wi-Fi channel from
+     * {@link ScanResult#CHANNEL_WIDTH_20MHZ}, {@link ScanResult#CHANNEL_WIDTH_40MHZ},
+     * {@link ScanResult#CHANNEL_WIDTH_80MHZ}, {@link ScanResult#CHANNEL_WIDTH_160MHZ},
+     * {@link ScanResult#CHANNEL_WIDTH_80MHZ_PLUS_MHZ} or {@link ScanResult#CHANNEL_WIDTH_320MHZ}.
+     */
+    @FlaggedApi(Flags.FLAG_GET_CHANNEL_WIDTH_API)
+    public @WifiAnnotations.ChannelWidth int getChannelWidth() {
+        return mChannelWidth;
+    }
+
     @Override
     public int describeContents() {
         return 0;
@@ -175,12 +207,13 @@
         if (o == null || getClass() != o.getClass()) return false;
         WifiAvailableChannel that = (WifiAvailableChannel) o;
         return mFrequency == that.mFrequency
-                && mOpModes == that.mOpModes;
+                && mOpModes == that.mOpModes
+                && mChannelWidth == that.mChannelWidth;
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(mFrequency, mOpModes);
+        return Objects.hash(mFrequency, mOpModes, mChannelWidth);
     }
 
     @Override
@@ -188,6 +221,8 @@
         StringBuilder sbuf = new StringBuilder();
         sbuf.append("mFrequency = ")
             .append(mFrequency)
+            .append(", mChannelWidth = ")
+            .append(mChannelWidth)
             .append(", mOpModes = ")
             .append(String.format("%x", mOpModes));
         return sbuf.toString();
@@ -197,6 +232,7 @@
     public void writeToParcel(@NonNull Parcel dest, int flags) {
         dest.writeInt(mFrequency);
         dest.writeInt(mOpModes);
+        dest.writeInt(mChannelWidth);
     }
 
     public static final @android.annotation.NonNull Creator<WifiAvailableChannel> CREATOR =
diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java
index 5adb0a7..c331d55 100644
--- a/service/java/com/android/server/wifi/ClientModeImpl.java
+++ b/service/java/com/android/server/wifi/ClientModeImpl.java
@@ -3513,6 +3513,10 @@
                 mWakeupController.setLastDisconnectInfo(matchInfo);
             }
             mRssiMonitor.reset();
+            // On disconnect, restore roaming mode to normal
+            if (!newConnectionInProgress) {
+                enableRoaming(true);
+            }
         }
 
         clearTargetBssid("handleNetworkDisconnect");
diff --git a/service/java/com/android/server/wifi/WifiNetworkSelector.java b/service/java/com/android/server/wifi/WifiNetworkSelector.java
index ff6c066..358593d 100644
--- a/service/java/com/android/server/wifi/WifiNetworkSelector.java
+++ b/service/java/com/android/server/wifi/WifiNetworkSelector.java
@@ -1453,9 +1453,11 @@
     private void updateSecurityParamsForTransitionModeIfNecessary(
             ScanResult scanResult, SecurityParams params) {
         if (params.isSecurityType(WifiConfiguration.SECURITY_TYPE_SAE)
+                && params.isAddedByAutoUpgrade()
                 && ScanResultUtil.isScanResultForPskSaeTransitionNetwork(scanResult)) {
             params.setRequirePmf(false);
         } else if (params.isSecurityType(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE)
+                && params.isAddedByAutoUpgrade()
                 && ScanResultUtil.isScanResultForWpa3EnterpriseTransitionNetwork(scanResult)) {
             params.setRequirePmf(false);
         }
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index 8f4791a..75cfb7a 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -7458,7 +7458,10 @@
             if ((band & ScanResult.toBand(freq)) == 0) {
                 continue;
             }
-            channels.add(new WifiAvailableChannel(freq, WifiAvailableChannel.OP_MODE_SAP));
+            // TODO b/340956906: Save and retrieve channel width in config store along with
+            //  frequency.
+            channels.add(new WifiAvailableChannel(freq, WifiAvailableChannel.OP_MODE_SAP,
+                    ScanResult.CHANNEL_WIDTH_20MHZ));
         }
         return channels;
     }
diff --git a/service/java/com/android/server/wifi/hal/WifiChipAidlImpl.java b/service/java/com/android/server/wifi/hal/WifiChipAidlImpl.java
index 80e53ca..f9e4ce2 100644
--- a/service/java/com/android/server/wifi/hal/WifiChipAidlImpl.java
+++ b/service/java/com/android/server/wifi/hal/WifiChipAidlImpl.java
@@ -16,6 +16,11 @@
 
 package com.android.server.wifi.hal;
 
+import static android.hardware.wifi.WifiChannelWidthInMhz.WIDTH_160;
+import static android.hardware.wifi.WifiChannelWidthInMhz.WIDTH_320;
+import static android.hardware.wifi.WifiChannelWidthInMhz.WIDTH_40;
+import static android.hardware.wifi.WifiChannelWidthInMhz.WIDTH_80;
+import static android.hardware.wifi.WifiChannelWidthInMhz.WIDTH_80P80;
 import static android.net.wifi.CoexUnsafeChannel.POWER_CAP_NONE;
 
 import android.annotation.NonNull;
@@ -53,6 +58,8 @@
 import android.hardware.wifi.WifiUsableChannel;
 import android.net.wifi.CoexUnsafeChannel;
 import android.net.wifi.OuiKeyedData;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiAnnotations;
 import android.net.wifi.WifiAvailableChannel;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiScanner;
@@ -690,7 +697,8 @@
                 List<WifiAvailableChannel> frameworkChannels = new ArrayList<>();
                 for (WifiUsableChannel ch : halChannels) {
                     frameworkChannels.add(new WifiAvailableChannel(
-                            ch.channel, halToFrameworkIfaceMode(ch.ifaceModeMask)));
+                            ch.channel, halToFrameworkIfaceMode(ch.ifaceModeMask),
+                            halToFrameworkChannelWidth(ch.channelBandwidth)));
                 }
                 return frameworkChannels;
             } catch (RemoteException e) {
@@ -704,6 +712,23 @@
         }
     }
 
+    private @WifiAnnotations.ChannelWidth int halToFrameworkChannelWidth(int channelBandwidth) {
+        switch(channelBandwidth) {
+            case WIDTH_40:
+                return ScanResult.CHANNEL_WIDTH_40MHZ;
+            case WIDTH_80:
+                return ScanResult.CHANNEL_WIDTH_80MHZ;
+            case WIDTH_160:
+                return ScanResult.CHANNEL_WIDTH_160MHZ;
+            case WIDTH_80P80:
+                return ScanResult.CHANNEL_WIDTH_80MHZ_PLUS_MHZ;
+            case WIDTH_320:
+                return ScanResult.CHANNEL_WIDTH_320MHZ;
+            default:
+                return ScanResult.CHANNEL_WIDTH_20MHZ;
+        }
+    }
+
     /**
      * See comments for {@link IWifiChip#registerCallback(WifiChip.Callback)}
      */
diff --git a/service/java/com/android/server/wifi/hal/WifiChipHidlImpl.java b/service/java/com/android/server/wifi/hal/WifiChipHidlImpl.java
index 430f96a..31101ac 100644
--- a/service/java/com/android/server/wifi/hal/WifiChipHidlImpl.java
+++ b/service/java/com/android/server/wifi/hal/WifiChipHidlImpl.java
@@ -16,6 +16,11 @@
 
 package com.android.server.wifi.hal;
 
+import static android.hardware.wifi.V1_6.WifiChannelWidthInMhz.WIDTH_160;
+import static android.hardware.wifi.V1_6.WifiChannelWidthInMhz.WIDTH_320;
+import static android.hardware.wifi.V1_6.WifiChannelWidthInMhz.WIDTH_40;
+import static android.hardware.wifi.V1_6.WifiChannelWidthInMhz.WIDTH_80;
+import static android.hardware.wifi.V1_6.WifiChannelWidthInMhz.WIDTH_80P80;
 import static android.net.wifi.CoexUnsafeChannel.POWER_CAP_NONE;
 
 import android.annotation.NonNull;
@@ -37,6 +42,8 @@
 import android.hardware.wifi.V1_6.WifiRadioConfiguration;
 import android.net.wifi.CoexUnsafeChannel;
 import android.net.wifi.OuiKeyedData;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiAnnotations;
 import android.net.wifi.WifiAvailableChannel;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiScanner;
@@ -1042,7 +1049,8 @@
                                 channelResp.value = new ArrayList<>();
                                 for (android.hardware.wifi.V1_6.WifiUsableChannel ch : channels) {
                                     channelResp.value.add(new WifiAvailableChannel(ch.channel,
-                                            halToFrameworkIfaceMode(ch.ifaceModeMask)));
+                                            halToFrameworkIfaceMode(ch.ifaceModeMask),
+                                            halToFrameworkChannelWidth(ch.channelBandwidth)));
                                 }
                             }
                         });
@@ -1056,7 +1064,8 @@
                                 channelResp.value = new ArrayList<>();
                                 for (android.hardware.wifi.V1_5.WifiUsableChannel ch : channels) {
                                     channelResp.value.add(new WifiAvailableChannel(ch.channel,
-                                            halToFrameworkIfaceMode(ch.ifaceModeMask)));
+                                            halToFrameworkIfaceMode(ch.ifaceModeMask),
+                                            halToFrameworkChannelWidth(ch.channelBandwidth)));
                                 }
                             }
                         });
@@ -1067,6 +1076,23 @@
         return channelResp.value;
     }
 
+    private @WifiAnnotations.ChannelWidth int halToFrameworkChannelWidth(int channelBandwidth) {
+        switch (channelBandwidth) {
+            case WIDTH_40:
+                return ScanResult.CHANNEL_WIDTH_40MHZ;
+            case WIDTH_80:
+                return ScanResult.CHANNEL_WIDTH_80MHZ;
+            case WIDTH_160:
+                return ScanResult.CHANNEL_WIDTH_160MHZ;
+            case WIDTH_80P80:
+                return ScanResult.CHANNEL_WIDTH_80MHZ_PLUS_MHZ;
+            case WIDTH_320:
+                return ScanResult.CHANNEL_WIDTH_320MHZ;
+            default:
+                return ScanResult.CHANNEL_WIDTH_20MHZ;
+        }
+    }
+
     private boolean registerCallbackInternal(String methodStr, WifiChip.Callback callback) {
         if (mFrameworkCallback != null) {
             Log.e(TAG, "Framework callback is already registered");
diff --git a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
index c7d97cf..614b0df 100644
--- a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
+++ b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
@@ -180,6 +180,7 @@
         try {
             enforceNearbyDevicesPermission(attributionSource, checkForLocation, message);
         } catch (SecurityException e) {
+            Log.e(TAG, "checkNearbyDevicesPermission - " + e);
             return false;
         }
         return true;
diff --git a/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
index 723e2e1..fddabc7 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
@@ -7866,6 +7866,39 @@
         verifyNoMoreInteractions(mWifiNetworkAgent);
     }
 
+    /**
+     * Verify that roaming mode is enabled on disconnect for primary.
+     */
+    @Test
+    public void testRoamingModeOnDisconnectPrimary() throws Exception {
+        when(mClientModeManager.getRole()).thenReturn(ROLE_CLIENT_PRIMARY);
+        connect();
+        mCmi.disconnect();
+        mLooper.dispatchAll();
+        mCmi.sendMessage(WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT, 0, 0,
+                new StateChangeResult(0, WifiSsid.fromUtf8Text(mConnectedNetwork.SSID),
+                        TEST_BSSID_STR, sFreq, SupplicantState.DISCONNECTED));
+        mLooper.dispatchAll();
+        verify(mWifiNative).enableFirmwareRoaming(anyString(),
+                eq(WifiNative.ENABLE_FIRMWARE_ROAMING));
+    }
+
+    /**
+     * Verify that roaming mode doesn't change on disconnect for secondary.
+     */
+    @Test
+    public void testRoamingModeOnDisconnectSecondary() throws Exception {
+        when(mClientModeManager.getRole()).thenReturn(ROLE_CLIENT_SECONDARY_TRANSIENT);
+        connect();
+        mCmi.disconnect();
+        mLooper.dispatchAll();
+        mCmi.sendMessage(WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT, 0, 0,
+                new StateChangeResult(0, WifiSsid.fromUtf8Text(mConnectedNetwork.SSID),
+                        TEST_BSSID_STR, sFreq, SupplicantState.DISCONNECTED));
+        mLooper.dispatchAll();
+        verify(mWifiNative, never()).enableFirmwareRoaming(anyString(), anyInt());
+    }
+
     @Test
     public void testConnectionWhileDisconnecting() throws Exception {
         connect();
diff --git a/service/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java b/service/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
index 4927700..cff2525 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
@@ -1601,8 +1601,10 @@
     @Test
     public void testGetSupportedBandsFromHal() throws Exception {
         List<WifiAvailableChannel> usableChannelList = new ArrayList<>();
-        usableChannelList.add(new WifiAvailableChannel(2412, WifiAvailableChannel.OP_MODE_STA));
-        usableChannelList.add(new WifiAvailableChannel(5160, WifiAvailableChannel.OP_MODE_STA));
+        usableChannelList.add(new WifiAvailableChannel(2412, WifiAvailableChannel.OP_MODE_STA,
+                ScanResult.CHANNEL_WIDTH_20MHZ));
+        usableChannelList.add(new WifiAvailableChannel(5160, WifiAvailableChannel.OP_MODE_STA,
+                ScanResult.CHANNEL_WIDTH_40MHZ));
         when(mWifiVendorHal.getUsableChannels(WifiScanner.WIFI_BAND_24_5_WITH_DFS_6_60_GHZ,
                 WifiAvailableChannel.OP_MODE_STA,
                 WifiAvailableChannel.FILTER_REGULATORY)).thenReturn(usableChannelList);
diff --git a/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index 8c22ac2..18851ea 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -9981,10 +9981,14 @@
         mLooper.startAutoDispatch();
         assertThat(mWifiServiceImpl.getUsableChannels(WIFI_BAND_24_5_WITH_DFS_6_60_GHZ, OP_MODE_SAP,
                 FILTER_REGULATORY, TEST_PACKAGE_NAME, mExtras)).containsExactly(
-                new WifiAvailableChannel(2452, WifiAvailableChannel.OP_MODE_SAP),
-                new WifiAvailableChannel(5180, WifiAvailableChannel.OP_MODE_SAP),
-                new WifiAvailableChannel(5955, WifiAvailableChannel.OP_MODE_SAP),
-                new WifiAvailableChannel(58320, WifiAvailableChannel.OP_MODE_SAP));
+                        new WifiAvailableChannel(2452, WifiAvailableChannel.OP_MODE_SAP,
+                        ScanResult.CHANNEL_WIDTH_20MHZ),
+                        new WifiAvailableChannel(5180, WifiAvailableChannel.OP_MODE_SAP,
+                        ScanResult.CHANNEL_WIDTH_20MHZ),
+                        new WifiAvailableChannel(5955, WifiAvailableChannel.OP_MODE_SAP,
+                        ScanResult.CHANNEL_WIDTH_20MHZ),
+                        new WifiAvailableChannel(58320, WifiAvailableChannel.OP_MODE_SAP,
+                        ScanResult.CHANNEL_WIDTH_20MHZ));
         mLooper.stopAutoDispatchAndIgnoreExceptions();
     }
 
@@ -10006,13 +10010,16 @@
         when(mWifiNative.isHalStarted()).thenReturn(true);
         when(mWifiNative.getUsableChannels(eq(WIFI_BAND_24_GHZ), anyInt(), anyInt()))
                 .thenReturn(Arrays.asList(
-                        new WifiAvailableChannel(2452, WifiAvailableChannel.OP_MODE_SAP)));
+                        new WifiAvailableChannel(2452, WifiAvailableChannel.OP_MODE_SAP,
+                                ScanResult.CHANNEL_WIDTH_20MHZ)));
         when(mWifiNative.getUsableChannels(eq(WIFI_BAND_5_GHZ), anyInt(), anyInt()))
                 .thenReturn(Arrays.asList(
-                        new WifiAvailableChannel(5180, WifiAvailableChannel.OP_MODE_SAP)));
+                        new WifiAvailableChannel(5180, WifiAvailableChannel.OP_MODE_SAP,
+                                ScanResult.CHANNEL_WIDTH_20MHZ)));
         when(mWifiNative.getUsableChannels(eq(WIFI_BAND_6_GHZ), anyInt(), anyInt()))
                 .thenReturn(Arrays.asList(
-                        new WifiAvailableChannel(5955, WifiAvailableChannel.OP_MODE_SAP)));
+                        new WifiAvailableChannel(5955, WifiAvailableChannel.OP_MODE_SAP,
+                                ScanResult.CHANNEL_WIDTH_20MHZ)));
         when(mWifiNative.getUsableChannels(eq(WIFI_BAND_60_GHZ), anyInt(), anyInt()))
                 .thenReturn(null);
 
@@ -11427,7 +11434,7 @@
         when(mWifiNative.isHalStarted()).thenReturn(true);
         // Channel 9 - 2452Mhz
         WifiAvailableChannel channels2g = new WifiAvailableChannel(2452,
-                WifiAvailableChannel.OP_MODE_SAP);
+                WifiAvailableChannel.OP_MODE_SAP, ScanResult.CHANNEL_WIDTH_20MHZ);
         when(mWifiNative.isHalSupported()).thenReturn(true);
         when(mWifiNative.isHalStarted()).thenReturn(true);
         when(mWifiNative.getUsableChannels(eq(WifiScanner.WIFI_BAND_24_GHZ), anyInt(), anyInt()))
diff --git a/service/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java b/service/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
index f853050..51537dc 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
@@ -68,6 +68,7 @@
 import android.net.ConnectivityManager;
 import android.net.wifi.IBooleanListener;
 import android.net.wifi.OuiKeyedData;
+import android.net.wifi.ScanResult;
 import android.net.wifi.WifiAvailableChannel;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiScanner;
@@ -1133,8 +1134,10 @@
         when(mWifiNative.getUsableChannels(WifiScanner.WIFI_BAND_5_GHZ, OP_MODE_WIFI_AWARE,
                 WifiAvailableChannel.FILTER_NAN_INSTANT_MODE))
                 .thenReturn(List.of(new WifiAvailableChannel(5220,
-                                WifiAvailableChannel.OP_MODE_WIFI_AWARE),
-                        new WifiAvailableChannel(5745, WifiAvailableChannel.OP_MODE_WIFI_AWARE)));
+                                WifiAvailableChannel.OP_MODE_WIFI_AWARE,
+                                ScanResult.CHANNEL_WIDTH_80MHZ),
+                        new WifiAvailableChannel(5745, WifiAvailableChannel.OP_MODE_WIFI_AWARE,
+                                ScanResult.CHANNEL_WIDTH_80MHZ)));
         mActiveCountryCodeChangedCallback.onActiveCountryCodeChanged("US");
         mMockLooper.dispatchAll();
         inOrder.verify(mMockNative).enableAndConfigure(transactionId.capture(),
@@ -1220,7 +1223,7 @@
         when(mWifiNative.getUsableChannels(WifiScanner.WIFI_BAND_5_GHZ, OP_MODE_WIFI_AWARE,
                 WifiAvailableChannel.FILTER_NAN_INSTANT_MODE))
                 .thenReturn(List.of(new WifiAvailableChannel(5220,
-                        WifiAvailableChannel.OP_MODE_WIFI_AWARE)));
+                        WifiAvailableChannel.OP_MODE_WIFI_AWARE, ScanResult.CHANNEL_WIDTH_80MHZ)));
         mActiveCountryCodeChangedCallback.onActiveCountryCodeChanged("US");
         mMockLooper.dispatchAll();
         inOrder.verify(mMockNative).enableAndConfigure(transactionId.capture(),