Merge "[Wi-Fi] Can't change EAP method for a saved enterprise Wi-Fi network"
This commit is contained in:
committed by
Android (Google) Code Review
commit
9ea11ac24d
@@ -1009,7 +1009,10 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
}
|
}
|
||||||
mView.findViewById(R.id.eap).setVisibility(View.VISIBLE);
|
mView.findViewById(R.id.eap).setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
// TODO (b/140541213): Maybe we can remove initiateEnterpriseNetworkUi by moving code block
|
||||||
|
boolean initiateEnterpriseNetworkUi = false;
|
||||||
if (mEapMethodSpinner == null) {
|
if (mEapMethodSpinner == null) {
|
||||||
|
initiateEnterpriseNetworkUi = true;
|
||||||
mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
|
mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
|
||||||
mEapMethodSpinner.setOnItemSelectedListener(this);
|
mEapMethodSpinner.setOnItemSelectedListener(this);
|
||||||
mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
|
mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
|
||||||
@@ -1066,7 +1069,7 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Modifying an existing network
|
// Modifying an existing network
|
||||||
if (mAccessPoint != null && mAccessPoint.isSaved()) {
|
if (initiateEnterpriseNetworkUi && mAccessPoint != null && mAccessPoint.isSaved()) {
|
||||||
WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig;
|
WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig;
|
||||||
int eapMethod = enterpriseConfig.getEapMethod();
|
int eapMethod = enterpriseConfig.getEapMethod();
|
||||||
int phase2Method = enterpriseConfig.getPhase2Method();
|
int phase2Method = enterpriseConfig.getPhase2Method();
|
||||||
|
@@ -29,6 +29,8 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
|
import android.net.wifi.WifiEnterpriseConfig;
|
||||||
|
import android.net.wifi.WifiEnterpriseConfig.Eap;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.ServiceSpecificException;
|
import android.os.ServiceSpecificException;
|
||||||
import android.security.KeyStore;
|
import android.security.KeyStore;
|
||||||
@@ -526,4 +528,22 @@ public class WifiConfigControllerTest {
|
|||||||
|
|
||||||
assertThat(shadowImm.isSoftInputVisible()).isFalse();
|
assertThat(shadowImm.isSoftInputVisible()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user