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

Commit ef55c3db authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "wifi: Allow specific channel + ACS in dual bands setting."

parents 0e287358 499012c6
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -1026,9 +1026,17 @@ public final class SoftApConfiguration implements Parcelable {
                        + channels.size() + ") configured");
            }
            for (int i = 0; i < channels.size(); i++) {
                if (!isChannelBandPairValid(channels.valueAt(i), channels.keyAt(i))) {
                    throw new IllegalArgumentException("Invalid channel(" + channels.valueAt(i)
                            + ") & band (" + channels.keyAt(i) + ") configured");
                int channel = channels.valueAt(i);
                int band = channels.keyAt(i);
                if (channel == 0) {
                    if (!isBandValid(band)) {
                        throw new IllegalArgumentException("Invalid band type: " + band);
                    }
                } else {
                    if (!isChannelBandPairValid(channel, band)) {
                        throw new IllegalArgumentException("Invalid channel(" + channel
                                + ") & band (" + band + ") configured");
                    }
                }
            }
            mChannels = channels.clone();
+15 −0
Original line number Diff line number Diff line
@@ -398,6 +398,21 @@ public class SoftApConfigurationTest {
        assertThat(dual_channels_config.getBand()).isEqualTo(SoftApConfiguration.BAND_2GHZ);
        assertTrue(dual_channels.toString().equals(dual_channels_config.getChannels().toString()));
        assertThat(dual_channels_config.getChannel()).isEqualTo(2);

        // Test different parameters.
        dual_channels.clear();
        dual_channels.put(SoftApConfiguration.BAND_5GHZ, 149);
        dual_channels.put(SoftApConfiguration.BAND_2GHZ | SoftApConfiguration.BAND_5GHZ, 0);
        expected_dual_bands[0] = SoftApConfiguration.BAND_5GHZ;
        expected_dual_bands[1] = SoftApConfiguration.BAND_2GHZ | SoftApConfiguration.BAND_5GHZ;
        dual_channels_config = new SoftApConfiguration.Builder()
                .setSsid("ssid")
                .setChannels(dual_channels)
                .build();
        assertTrue(Arrays.equals(expected_dual_bands, dual_channels_config.getBands()));
        assertThat(dual_channels_config.getBand()).isEqualTo(SoftApConfiguration.BAND_5GHZ);
        assertTrue(dual_channels.toString().equals(dual_channels_config.getChannels().toString()));
        assertThat(dual_channels_config.getChannel()).isEqualTo(149);
    }

    @Test