am c4bf8cd9: am 2f76aaaf: Merge "Enable EAP-pwd configuration in WiFi Settings."

* commit 'c4bf8cd955e7a317c6d9c0eb023d5994be0f1e9d':
  Enable EAP-pwd configuration in WiFi Settings.
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index 1b4d062..f06c332 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -63,7 +63,8 @@
                     style="@style/wifi_section"
                     android:visibility="gone">
 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_method"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
@@ -75,7 +76,8 @@
                             android:entries="@array/wifi_eap_method" />
                 </LinearLayout>
                 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_phase2"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
@@ -87,7 +89,8 @@
                             android:entries="@array/wifi_phase2_entries" />
                 </LinearLayout>
 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_ca_cert"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
@@ -98,7 +101,8 @@
                             android:prompt="@string/wifi_eap_ca_cert" />
                 </LinearLayout>
 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_user_cert"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
@@ -109,7 +113,8 @@
                             android:prompt="@string/wifi_eap_user_cert" />
                 </LinearLayout>
 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_identity"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
@@ -121,7 +126,8 @@
                             android:inputType="textNoSuggestions" />
                 </LinearLayout>
 
-                <LinearLayout
+                <LinearLayout android:id="@+id/l_anonymous"
+                        android:visibility="gone"
                         style="@style/wifi_item" >
                     <TextView
                             style="@style/wifi_item_label"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 97c6d99..80cb2cf 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -307,6 +307,8 @@
         <item>TLS</item>
         <!-- Do not translate. -->
         <item>TTLS</item>
+        <!-- Do not translate. -->
+        <item>PWD</item>
     </string-array>
 
    <!-- Wi-Fi WPS setup for p2p connections.  -->
@@ -416,6 +418,7 @@
         <item>PEAP</item>
         <item>TLS</item>
         <item>TTLS</item>
+        <item>PWD</item>
     </string-array>
 
     <!-- Phase 2 options -->
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 2f8ae54..c64a225 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -97,6 +97,12 @@
     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 @@
 
         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 @@
                 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 @@
         if (parent == mSecuritySpinner) {
             mAccessPointSecurity = position;
             showSecurityFields();
+        } else if (parent == mEapMethodSpinner) {
+            showSecurityFields();
         } else if (parent == mNetworkSetupSpinner) {
             showNetworkSetupFields();
         } else if (parent == mProxySettingsSpinner) {