Enable EAP-pwd configuration in WiFi Settings.
EAP-pwd (RFC 5931) is an EAP method that uses a shared password for authentication. It has the simplicity of setup as WPA2-PSK (no certificates), but provides strong authenticaiton like 802.1x. Modified the Settings screen so that the only visible fields when choosing EAP-pwd are 'identity' and 'password'. Change-Id: I9365d873b43c416ddfa4cae47b7419d902c212a7 Signed-off-by: Partha N <parthan@gmail.com>
This commit is contained in:
@@ -63,7 +63,8 @@
|
|||||||
style="@style/wifi_section"
|
style="@style/wifi_section"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_method"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
@@ -75,7 +76,8 @@
|
|||||||
android:entries="@array/wifi_eap_method" />
|
android:entries="@array/wifi_eap_method" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_phase2"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
@@ -87,7 +89,8 @@
|
|||||||
android:entries="@array/wifi_phase2_entries" />
|
android:entries="@array/wifi_phase2_entries" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_ca_cert"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
@@ -98,7 +101,8 @@
|
|||||||
android:prompt="@string/wifi_eap_ca_cert" />
|
android:prompt="@string/wifi_eap_ca_cert" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_user_cert"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
@@ -109,7 +113,8 @@
|
|||||||
android:prompt="@string/wifi_eap_user_cert" />
|
android:prompt="@string/wifi_eap_user_cert" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_identity"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
@@ -121,7 +126,8 @@
|
|||||||
android:inputType="textNoSuggestions" />
|
android:inputType="textNoSuggestions" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout android:id="@+id/l_anonymous"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/wifi_item" >
|
style="@style/wifi_item" >
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/wifi_item_label"
|
style="@style/wifi_item_label"
|
||||||
|
@@ -307,6 +307,8 @@
|
|||||||
<item>TLS</item>
|
<item>TLS</item>
|
||||||
<!-- Do not translate. -->
|
<!-- Do not translate. -->
|
||||||
<item>TTLS</item>
|
<item>TTLS</item>
|
||||||
|
<!-- Do not translate. -->
|
||||||
|
<item>PWD</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- Wi-Fi WPS setup for p2p connections. -->
|
<!-- Wi-Fi WPS setup for p2p connections. -->
|
||||||
@@ -416,6 +418,7 @@
|
|||||||
<item>PEAP</item>
|
<item>PEAP</item>
|
||||||
<item>TLS</item>
|
<item>TLS</item>
|
||||||
<item>TTLS</item>
|
<item>TTLS</item>
|
||||||
|
<item>PWD</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- Phase 2 options -->
|
<!-- Phase 2 options -->
|
||||||
|
@@ -97,6 +97,12 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
public static final int PROXY_NONE = 0;
|
public static final int PROXY_NONE = 0;
|
||||||
public static final int PROXY_STATIC = 1;
|
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 static final String TAG = "WifiConfigController";
|
||||||
|
|
||||||
private Spinner mNetworkSetupSpinner;
|
private Spinner mNetworkSetupSpinner;
|
||||||
@@ -541,6 +547,7 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
|
|
||||||
if (mEapMethodSpinner == null) {
|
if (mEapMethodSpinner == null) {
|
||||||
mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
|
mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
|
||||||
|
mEapMethodSpinner.setOnItemSelectedListener(this);
|
||||||
mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
|
mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
|
||||||
mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
|
mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
|
||||||
mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);
|
mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);
|
||||||
@@ -562,6 +569,21 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
mEapAnonymousView.setText(config.anonymous_identity.value());
|
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() {
|
private void showNetworkSetupFields() {
|
||||||
@@ -761,6 +783,8 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
if (parent == mSecuritySpinner) {
|
if (parent == mSecuritySpinner) {
|
||||||
mAccessPointSecurity = position;
|
mAccessPointSecurity = position;
|
||||||
showSecurityFields();
|
showSecurityFields();
|
||||||
|
} else if (parent == mEapMethodSpinner) {
|
||||||
|
showSecurityFields();
|
||||||
} else if (parent == mNetworkSetupSpinner) {
|
} else if (parent == mNetworkSetupSpinner) {
|
||||||
showNetworkSetupFields();
|
showNetworkSetupFields();
|
||||||
} else if (parent == mProxySettingsSpinner) {
|
} else if (parent == mProxySettingsSpinner) {
|
||||||
|
Reference in New Issue
Block a user