Merge change 8183 into donut
* changes:
Improve UX of adding credential...
diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java
index c9f511b..4152056 100644
--- a/src/com/android/settings/wifi/AccessPointDialog.java
+++ b/src/com/android/settings/wifi/AccessPointDialog.java
@@ -246,7 +246,6 @@
} else if (mMode == MODE_INFO) {
if (mState.isEnterprise() && !mState.configured) {
setLayout(R.layout.wifi_ap_configure);
- defaultPasswordVisibility = false;
setEnterpriseFieldsVisible(true);
} else {
setLayout(R.layout.wifi_ap_info);
@@ -319,6 +318,8 @@
if (mMode == MODE_CONFIGURE ||
(mState.isEnterprise() && !mState.configured)) {
setEnterpriseFields(view);
+ mPhase2Spinner.setSelection(getSelectionIndex(
+ R.array.wifi_phase2_entries, mState.getPhase2()));
mEapSpinner.setSelection(getSelectionIndex(
R.array.wifi_eap_entries, mState.getEap()));
mClientCertSpinner.setSelection(getSelectionIndex(
@@ -663,14 +664,15 @@
}
}
switch (securityType) {
+ case SECURITY_IEEE8021X:
case SECURITY_WPA_EAP: {
- mState.setSecurity(AccessPointState.WPA_EAP);
+ if (securityType == SECURITY_WPA_EAP) {
+ mState.setSecurity(AccessPointState.WPA_EAP);
+ } else {
+ mState.setSecurity(AccessPointState.IEEE8021X);
+ }
mState.setEap(mEapSpinner.getSelectedItemPosition());
- break;
- }
- case SECURITY_IEEE8021X: {
- mState.setSecurity(AccessPointState.IEEE8021X);
- mState.setEap(mEapSpinner.getSelectedItemPosition());
+ mState.setPhase2((String)mPhase2Spinner.getSelectedItem());
break;
}
default:
diff --git a/src/com/android/settings/wifi/AccessPointState.java b/src/com/android/settings/wifi/AccessPointState.java
index 8fb651b..899c304 100644
--- a/src/com/android/settings/wifi/AccessPointState.java
+++ b/src/com/android/settings/wifi/AccessPointState.java
@@ -375,12 +375,22 @@
/* For Enterprise Fields */
public void setEnterpriseField(int field, String value) {
- if (value != null && field >= 0 && field < MAX_ENTRPRISE_FIELD) {
+ if ((value != null) && (field >= 0) && (field < MAX_ENTRPRISE_FIELD)) {
this.mEnterpriseFields[field] = value;
requestRefresh();
}
}
+ public void setPhase2(String phase2) {
+ if (!TextUtils.isEmpty(phase2) && (!phase2.equals("None"))) {
+ mPhase2 = phase2;
+ }
+ }
+
+ public String getPhase2() {
+ return mPhase2;
+ }
+
public void setEap(int method) {
mEap = EAP_METHOD[method];
requestRefresh();
@@ -495,6 +505,12 @@
config.hiddenSSID = hiddenSsid;
config.SSID = convertToQuotedString(ssid);
config.eap = mEap;
+
+ if (!TextUtils.isEmpty(mPhase2)) {
+ config.phase2 = convertToQuotedString("auth=" + mPhase2);
+ } else {
+ config.phase2 = null;
+ }
if (!TextUtils.isEmpty(mEnterpriseFields[IDENTITY])) {
config.identity =
convertToQuotedString(mEnterpriseFields[IDENTITY]);