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

Commit 7596faf3 authored by Ahmed ElArabawy's avatar Ahmed ElArabawy
Browse files

Wifi: Add minRssi and bandBonus for 6GHz band

This commit adds the minRssi and bandBonus for 6GHz band in
PNO settings.

Bug: 139354972
Test: atest com.android.server.wifi
Change-Id: I5a9920fcd6efb50e6c959617acb2f1c67db1d581
parent e9f384da
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -497,6 +497,13 @@ public class ScanResult implements Parcelable {
        return ScanResult.is5GHz(frequency);
    }

    /**
     * @hide
     */
    public boolean is6GHz() {
        return ScanResult.is6GHz(frequency);
    }

    /**
     * @hide
     * TODO: makes real freq boundaries
@@ -505,6 +512,13 @@ public class ScanResult implements Parcelable {
        return freq > 4900 && freq < 5900;
    }

    /**
     * @hide
     */
    public static boolean is6GHz(int freq) {
        return freq > 5925 && freq < 7125;
    }

    /**
     *  @hide
     * anqp lines from supplicant BSS response
+8 −0
Original line number Diff line number Diff line
@@ -740,6 +740,8 @@ public class WifiScanner {
        public int min5GHzRssi;
        /** Minimum 2.4GHz RSSI for a BSSID to be considered */
        public int min24GHzRssi;
        /** Minimum 6GHz RSSI for a BSSID to be considered */
        public int min6GHzRssi;
        /** Maximum score that a network can have before bonuses */
        public int initialScoreMax;
        /**
@@ -753,6 +755,8 @@ public class WifiScanner {
        public int secureBonus;
        /** 5GHz RSSI score bonus (applied to all 5GHz networks) */
        public int band5GHzBonus;
        /** 6GHz RSSI score bonus (applied to all 5GHz networks) */
        public int band6GHzBonus;
        /** Pno Network filter list */
        public PnoNetwork[] networkList;

@@ -766,11 +770,13 @@ public class WifiScanner {
            dest.writeInt(isConnected ? 1 : 0);
            dest.writeInt(min5GHzRssi);
            dest.writeInt(min24GHzRssi);
            dest.writeInt(min6GHzRssi);
            dest.writeInt(initialScoreMax);
            dest.writeInt(currentConnectionBonus);
            dest.writeInt(sameNetworkBonus);
            dest.writeInt(secureBonus);
            dest.writeInt(band5GHzBonus);
            dest.writeInt(band6GHzBonus);
            if (networkList != null) {
                dest.writeInt(networkList.length);
                for (int i = 0; i < networkList.length; i++) {
@@ -792,11 +798,13 @@ public class WifiScanner {
                        settings.isConnected = in.readInt() == 1;
                        settings.min5GHzRssi = in.readInt();
                        settings.min24GHzRssi = in.readInt();
                        settings.min6GHzRssi = in.readInt();
                        settings.initialScoreMax = in.readInt();
                        settings.currentConnectionBonus = in.readInt();
                        settings.sameNetworkBonus = in.readInt();
                        settings.secureBonus = in.readInt();
                        settings.band5GHzBonus = in.readInt();
                        settings.band6GHzBonus = in.readInt();
                        int numNetworks = in.readInt();
                        settings.networkList = new PnoNetwork[numNetworks];
                        for (int i = 0; i < numNetworks; i++) {
+7 −1
Original line number Diff line number Diff line
@@ -79,15 +79,17 @@ public class WifiScannerTest {
    private static final boolean TEST_PNOSETTINGS_IS_CONNECTED = false;
    private static final int TEST_PNOSETTINGS_MIN_5GHZ_RSSI = -60;
    private static final int TEST_PNOSETTINGS_MIN_2GHZ_RSSI = -70;
    private static final int TEST_PNOSETTINGS_MIN_6GHZ_RSSI = -55;
    private static final int TEST_PNOSETTINGS_INITIAL_SCORE_MAX = 50;
    private static final int TEST_PNOSETTINGS_CURRENT_CONNECTION_BONUS = 10;
    private static final int TEST_PNOSETTINGS_SAME_NETWORK_BONUS = 11;
    private static final int TEST_PNOSETTINGS_SECURE_BONUS = 12;
    private static final int TEST_PNOSETTINGS_BAND_5GHZ_BONUS = 13;
    private static final int TEST_PNOSETTINGS_BAND_6GHZ_BONUS = 15;
    private static final String TEST_SSID_1 = "TEST1";
    private static final String TEST_SSID_2 = "TEST2";
    private static final int[] TEST_FREQUENCIES_1 = {};
    private static final int[] TEST_FREQUENCIES_2 = {2500, 5124};
    private static final int[] TEST_FREQUENCIES_2 = {2500, 5124, 6245};
    private static final String DESCRIPTION_NOT_AUTHORIZED = "Not authorized";

    private WifiScanner mWifiScanner;
@@ -183,11 +185,13 @@ public class WifiScannerTest {
        pnoSettings.isConnected = TEST_PNOSETTINGS_IS_CONNECTED;
        pnoSettings.min5GHzRssi = TEST_PNOSETTINGS_MIN_5GHZ_RSSI;
        pnoSettings.min24GHzRssi = TEST_PNOSETTINGS_MIN_2GHZ_RSSI;
        pnoSettings.min6GHzRssi = TEST_PNOSETTINGS_MIN_6GHZ_RSSI;
        pnoSettings.initialScoreMax = TEST_PNOSETTINGS_INITIAL_SCORE_MAX;
        pnoSettings.currentConnectionBonus = TEST_PNOSETTINGS_CURRENT_CONNECTION_BONUS;
        pnoSettings.sameNetworkBonus = TEST_PNOSETTINGS_SAME_NETWORK_BONUS;
        pnoSettings.secureBonus = TEST_PNOSETTINGS_SECURE_BONUS;
        pnoSettings.band5GHzBonus = TEST_PNOSETTINGS_BAND_5GHZ_BONUS;
        pnoSettings.band6GHzBonus = TEST_PNOSETTINGS_BAND_6GHZ_BONUS;

        Parcel parcel = Parcel.obtain();
        pnoSettings.writeToParcel(parcel, 0);
@@ -200,6 +204,7 @@ public class WifiScannerTest {
        assertEquals(TEST_PNOSETTINGS_IS_CONNECTED, pnoSettingsDeserialized.isConnected);
        assertEquals(TEST_PNOSETTINGS_MIN_5GHZ_RSSI, pnoSettingsDeserialized.min5GHzRssi);
        assertEquals(TEST_PNOSETTINGS_MIN_2GHZ_RSSI, pnoSettingsDeserialized.min24GHzRssi);
        assertEquals(TEST_PNOSETTINGS_MIN_6GHZ_RSSI, pnoSettingsDeserialized.min6GHzRssi);
        assertEquals(TEST_PNOSETTINGS_INITIAL_SCORE_MAX, pnoSettingsDeserialized.initialScoreMax);
        assertEquals(TEST_PNOSETTINGS_CURRENT_CONNECTION_BONUS,
                pnoSettingsDeserialized.currentConnectionBonus);
@@ -207,6 +212,7 @@ public class WifiScannerTest {
                pnoSettingsDeserialized.sameNetworkBonus);
        assertEquals(TEST_PNOSETTINGS_SECURE_BONUS, pnoSettingsDeserialized.secureBonus);
        assertEquals(TEST_PNOSETTINGS_BAND_5GHZ_BONUS, pnoSettingsDeserialized.band5GHzBonus);
        assertEquals(TEST_PNOSETTINGS_BAND_6GHZ_BONUS, pnoSettingsDeserialized.band6GHzBonus);

        // Test parsing of PnoNetwork
        assertEquals(pnoSettings.networkList.length, pnoSettingsDeserialized.networkList.length);