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) {