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

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

Merge "[Wi-Fi] Can't change EAP method for a saved enterprise Wi-Fi network" into qt-qpr1-dev

parents 9b956eb4 31a79fec
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -987,7 +987,9 @@ public class WifiConfigController implements TextWatcher,
        }
        mView.findViewById(R.id.eap).setVisibility(View.VISIBLE);

        boolean initiateEnterpriseNetworkUi = false;
        if (mEapMethodSpinner == null) {
            initiateEnterpriseNetworkUi = true;
            mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
            mEapMethodSpinner.setOnItemSelectedListener(this);
            mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
@@ -1045,7 +1047,7 @@ public class WifiConfigController implements TextWatcher,
        }

        // Modifying an existing network
        if (mAccessPoint != null && mAccessPoint.isSaved()) {
        if (initiateEnterpriseNetworkUi && mAccessPoint != null && mAccessPoint.isSaved()) {
            final WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig;
            final int eapMethod = enterpriseConfig.getEapMethod();
            final int phase2Method = enterpriseConfig.getPhase2Method();
+20 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import static org.mockito.Mockito.when;

import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiEnterpriseConfig;
import android.net.wifi.WifiEnterpriseConfig.Eap;
import android.net.wifi.WifiManager;
import android.os.ServiceSpecificException;
import android.security.KeyStore;
@@ -469,4 +471,22 @@ public class WifiConfigControllerTest {
        final int selectedItemPosition = eapMethodSpinner.getSelectedItemPosition();
        assertThat(eapMethodSpinner.getSelectedItem().toString()).isEqualTo("TLS");
    }

    @Test
    public void selectEapMethod_savedAccessPoint_shouldGetCorrectPosition() {
        when(mAccessPoint.isSaved()).thenReturn(true);
        when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
        final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
        final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
        when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP);
        mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig ;
        when(mAccessPoint.getConfig()).thenReturn(mockWifiConfig);
        mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
                WifiConfigUiBase.MODE_MODIFY);
        final Spinner eapMethodSpinner = mView.findViewById(R.id.method);

        eapMethodSpinner.setSelection(Eap.TLS);

        assertThat(eapMethodSpinner.getSelectedItemPosition()).isEqualTo(Eap.TLS);
    }
}