Add the ScanResult utility functions to return the band.

As part of Wi-Fi feature for STA+STA with multiple internet support,
add the utility functions to return the band of ScanResult.

Bug: 181741503
Test: atest android.net.wifi.ScanResultTest
Change-Id: I214216ef4bcd240d725cc380aa3b6bf5646266fc
diff --git a/framework/api/system-current.txt b/framework/api/system-current.txt
index 3105c05..88379ee 100644
--- a/framework/api/system-current.txt
+++ b/framework/api/system-current.txt
@@ -220,6 +220,7 @@
   }
 
   public final class ScanResult implements android.os.Parcelable {
+    method public int getBand();
     method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
     field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
     field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
diff --git a/framework/java/android/net/wifi/ScanResult.java b/framework/java/android/net/wifi/ScanResult.java
index 481c210..9c6dfbd 100644
--- a/framework/java/android/net/wifi/ScanResult.java
+++ b/framework/java/android/net/wifi/ScanResult.java
@@ -897,6 +897,32 @@
     }
 
     /**
+     * Returns the band for the ScanResult according to its frequency.
+     * @hide
+     */
+    @WifiBand public static int toBand(int frequency) {
+        if (ScanResult.is24GHz(frequency)) {
+            return ScanResult.WIFI_BAND_24_GHZ;
+        } else if (ScanResult.is5GHz(frequency)) {
+            return ScanResult.WIFI_BAND_5_GHZ;
+        } else if (ScanResult.is6GHz(frequency)) {
+            return ScanResult.WIFI_BAND_6_GHZ;
+        } else if (ScanResult.is60GHz(frequency)) {
+            return ScanResult.WIFI_BAND_60_GHZ;
+        }
+        return ScanResult.UNSPECIFIED;
+    }
+
+    /**
+     * Returns the band for the ScanResult according to its frequency.
+     * @hide
+     */
+    @SystemApi
+    @WifiBand public int getBand() {
+        return ScanResult.toBand(this.frequency);
+    }
+
+    /**
      * @hide
      */
     public boolean is24GHz() {
diff --git a/framework/tests/src/android/net/wifi/ScanResultTest.java b/framework/tests/src/android/net/wifi/ScanResultTest.java
index 0805717..04a8632 100644
--- a/framework/tests/src/android/net/wifi/ScanResultTest.java
+++ b/framework/tests/src/android/net/wifi/ScanResultTest.java
@@ -401,4 +401,21 @@
         assertArrayEquals(expected.radioChainInfos, actual.radioChainInfos);
         assertArrayEquals(expected.informationElements, actual.informationElements);
     }
+
+    /**
+     * Test ScanResult.getBand() function.
+     */
+    @Test
+    public void testScanResultGetBand() throws Exception {
+        ScanResult scanResult = createScanResult();
+        assertEquals(ScanResult.WIFI_BAND_24_GHZ, scanResult.getBand());
+    }
+
+    /**
+     * Test ScanResult.toBand() function.
+     */
+    @Test
+    public void testScanResultToBand() throws Exception {
+        assertEquals(ScanResult.WIFI_BAND_24_GHZ, ScanResult.toBand(TEST_FREQUENCY));
+    }
 }