summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/wifi_dialog.xml18
-rw-r--r--res/values/arrays.xml3
-rw-r--r--src/com/android/settings/wifi/WifiConfigController.java24
3 files changed, 39 insertions, 6 deletions
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 8c7ebfc..e89c00c 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -315,6 +315,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. -->
@@ -424,6 +426,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 afa2a11..76a9a45 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -98,6 +98,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;
@@ -539,6 +545,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);
@@ -560,6 +567,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) {