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

Commit 8a9ad065 authored by Ahmed ElArabawy's avatar Ahmed ElArabawy Committed by Android (Google) Code Review
Browse files

Merge "Wifi: Fix rototests for wifi tethering"

parents ae89ecf8 2632c25f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -105,8 +105,8 @@ public class WifiTetherApBandPreferenceController extends WifiTetherBasePreferen
        // 2: no 5 GHZ support means we can't have BAND_5GHZ - default to 2GHZ
        // 3: With Dual mode support we can't have BAND_5GHZ only - include 2GHZ
        if (!isDualMode
                && ((band & (SoftApConfiguration.BAND_5GHZ
                | SoftApConfiguration.BAND_2GHZ)) != 0)) {
                && ((band & SoftApConfiguration.BAND_5GHZ) != 0)
                && ((band & SoftApConfiguration.BAND_2GHZ) != 0)) {
            return SoftApConfiguration.BAND_5GHZ;
        } else if (!is5GhzBandSupported() && SoftApConfiguration.BAND_5GHZ == band) {
            return SoftApConfiguration.BAND_2GHZ;
+33 −20
Original line number Diff line number Diff line
@@ -49,6 +49,13 @@ public class WifiTetherApBandPreferenceControllerTest {
    private static final String ALL_BANDS = "5.0 GHz Band preferred";
    private static final String TWO_GHZ_STRING = "2.4 GHz Band";
    private static final String FIVE_GHZ_STRING = "5.0 GHz Band";
    private static final String VAL_2GHZ_STR  = "1";
    private static final String VAL_5GHZ_STR = "2";
    private static final String VAL_2_5_GHZ_STR = "3";
    private static final int VAL_2GHZ_INT = 1;
    private static final int VAL_5GHZ_INT = 2;
    private static final int VAL_2_5_GHZ_INT = 3;

    private Context mContext;
    @Mock
    private ConnectivityManager mConnectivityManager;
@@ -87,8 +94,11 @@ public class WifiTetherApBandPreferenceControllerTest {
        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
        when(mWifiManager.isDualModeSupported()).thenReturn(true);

        // Create a new instance to pick the proper value of isDualModeSupported()
        mController = new WifiTetherApBandPreferenceController(mContext, mListener);

        mController.displayPreference(mScreen);
        mController.onPreferenceChange(mPreference, "-1");
        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);

        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
    }
@@ -125,22 +135,22 @@ public class WifiTetherApBandPreferenceControllerTest {

        mController.displayPreference(mScreen);

        // -1 is SoftApConfiguration.BAND_ANY, for 'Auto' option. This should be prevented from
        // being set since it is invalid for this configuration
        mController.onPreferenceChange(mPreference, "-1");
        assertThat(mController.getBandIndex()).isEqualTo(1);
        // 'Auto' option should be prevented from being set since
        // it is invalid for this configuration
        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_5GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(FIVE_GHZ_STRING);
        verify(mListener, times(1)).onTetherConfigUpdated(mController);

        // set to 5 Ghz
        mController.onPreferenceChange(mPreference, "1");
        assertThat(mController.getBandIndex()).isEqualTo(1);
        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_5GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(FIVE_GHZ_STRING);
        verify(mListener, times(2)).onTetherConfigUpdated(mController);

        // set to 2 Ghz
        mController.onPreferenceChange(mPreference, "0");
        assertThat(mController.getBandIndex()).isEqualTo(0);
        mController.onPreferenceChange(mPreference, VAL_2GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(TWO_GHZ_STRING);
        verify(mListener, times(3)).onTetherConfigUpdated(mController);
    }
@@ -152,23 +162,26 @@ public class WifiTetherApBandPreferenceControllerTest {
        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
        when(mWifiManager.isDualModeSupported()).thenReturn(true);

        // Create a new instance to pick the proper value of isDualModeSupported()
        mController = new WifiTetherApBandPreferenceController(mContext, mListener);

        mController.displayPreference(mScreen);

        // -1 is SoftApConfiguration.BAND_ANY, for 'Auto' option.
        mController.onPreferenceChange(mPreference, "-1");
        assertThat(mController.getBandIndex()).isEqualTo(-1);
        // 'Auto' option
        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
        verify(mListener, times(1)).onTetherConfigUpdated(mController);

        // should revert to the default for 5 Ghz only since this is not supported with this config
        mController.onPreferenceChange(mPreference, "1");
        assertThat(mController.getBandIndex()).isEqualTo(-1);
        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
        verify(mListener, times(2)).onTetherConfigUpdated(mController);

        // set to 2 Ghz
        mController.onPreferenceChange(mPreference, "0");
        assertThat(mController.getBandIndex()).isEqualTo(0);
        mController.onPreferenceChange(mPreference, VAL_2GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
        assertThat(mPreference.getSummary()).isEqualTo(TWO_GHZ_STRING);
        verify(mListener, times(3)).onTetherConfigUpdated(mController);
    }
@@ -179,16 +192,16 @@ public class WifiTetherApBandPreferenceControllerTest {
        when(mWifiManager.getCountryCode()).thenReturn("US");
        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);

        // Set controller band index to 1 and verify is set.
        // Set controller band index to 5GHz and verify is set.
        mController.displayPreference(mScreen);
        mController.onPreferenceChange(mPreference, "1");
        assertThat(mController.getBandIndex()).isEqualTo(1);
        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_5GHZ_INT);

        // Disable 5Ghz band
        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);

        // Call updateDisplay and verify it's changed.
        mController.updateDisplay();
        assertThat(mController.getBandIndex()).isEqualTo(0);
        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
    }
}