diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml index 1b4d0629849..f06c33207ac 100644 --- a/res/layout/wifi_dialog.xml +++ b/res/layout/wifi_dialog.xml @@ -63,7 +63,8 @@ style="@style/wifi_section" android:visibility="gone"> - - - - - - TLS TTLS + + PWD @@ -416,6 +418,7 @@ PEAP TLS TTLS + PWD diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 2f8ae549106..c64a225dab6 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -97,6 +97,12 @@ public class WifiConfigController implements TextWatcher, public static final int PROXY_NONE = 0; public static final int PROXY_STATIC = 1; + /* These values from from "wifi_eap_method" resource array */ + public static final int WIFI_EAP_METHOD_PEAP = 0; + public static final int WIFI_EAP_METHOD_TLS = 1; + public static final int WIFI_EAP_METHOD_TTLS = 2; + public static final int WIFI_EAP_METHOD_PWD = 3; + private static final String TAG = "WifiConfigController"; private Spinner mNetworkSetupSpinner; @@ -541,6 +547,7 @@ public class WifiConfigController implements TextWatcher, if (mEapMethodSpinner == null) { mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method); + mEapMethodSpinner.setOnItemSelectedListener(this); mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2); mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert); mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert); @@ -562,6 +569,21 @@ public class WifiConfigController implements TextWatcher, mEapAnonymousView.setText(config.anonymous_identity.value()); } } + + mView.findViewById(R.id.l_method).setVisibility(View.VISIBLE); + mView.findViewById(R.id.l_identity).setVisibility(View.VISIBLE); + + if (mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_PWD){ + mView.findViewById(R.id.l_phase2).setVisibility(View.GONE); + mView.findViewById(R.id.l_ca_cert).setVisibility(View.GONE); + mView.findViewById(R.id.l_user_cert).setVisibility(View.GONE); + mView.findViewById(R.id.l_anonymous).setVisibility(View.GONE); + } else { + mView.findViewById(R.id.l_phase2).setVisibility(View.VISIBLE); + mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE); + mView.findViewById(R.id.l_user_cert).setVisibility(View.VISIBLE); + mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE); + } } private void showNetworkSetupFields() { @@ -761,6 +783,8 @@ public class WifiConfigController implements TextWatcher, if (parent == mSecuritySpinner) { mAccessPointSecurity = position; showSecurityFields(); + } else if (parent == mEapMethodSpinner) { + showSecurityFields(); } else if (parent == mNetworkSetupSpinner) { showNetworkSetupFields(); } else if (parent == mProxySettingsSpinner) {