Display warning if users does not provide CA cert in EAP config

Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
This commit is contained in:
Samuel Tan
2016-01-21 18:17:17 -08:00
parent f827c929dd
commit 57c329c9f9
4 changed files with 35 additions and 0 deletions

View File

@@ -145,6 +145,18 @@
android:prompt="@string/wifi_eap_ca_cert" /> android:prompt="@string/wifi_eap_ca_cert" />
</LinearLayout> </LinearLayout>
<LinearLayout android:id="@+id/no_ca_cert_warning"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
style="@style/wifi_item" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/wifi_item_warning"
android:text="@string/wifi_do_not_validate_eap_server_warning" />
</LinearLayout>
<LinearLayout android:id="@+id/l_user_cert" <LinearLayout android:id="@+id/l_user_cert"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@@ -1643,6 +1643,8 @@
<string name="wifi_do_not_provide_eap_user_cert">Do not provide</string> <string name="wifi_do_not_provide_eap_user_cert">Do not provide</string>
<!-- Menu option for not validating the EAP server --> <!-- Menu option for not validating the EAP server -->
<string name="wifi_do_not_validate_eap_server">Do not validate</string> <string name="wifi_do_not_validate_eap_server">Do not validate</string>
<!-- Warning message displayed if user choses not to validate the EAP server -->
<string name="wifi_do_not_validate_eap_server_warning">No certificate specified. Your connection will not be private.</string>
<!-- Substring of status line when Wi-Fi Protected Setup (WPS) is available and <!-- Substring of status line when Wi-Fi Protected Setup (WPS) is available and
string is listed first [CHAR LIMIT=20]--> string is listed first [CHAR LIMIT=20]-->
<string name="wifi_wps_available_first_item">WPS available</string> <string name="wifi_wps_available_first_item">WPS available</string>

View File

@@ -204,6 +204,14 @@
<item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
</style> </style>
<style name="wifi_item_warning">
<item name="android:paddingStart">8dip</item>
<item name="android:textSize">12sp</item>
<item name="android:textAlignment">viewStart</item>
<item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
<item name="android:textColor">@color/warning</item>
</style>
<style name="wifi_item_content"> <style name="wifi_item_content">
<item name="android:textAlignment">viewStart</item> <item name="android:textAlignment">viewStart</item>
<item name="android:textAppearance">@android:style/TextAppearance.Material.Subhead</item> <item name="android:textAppearance">@android:style/TextAppearance.Material.Subhead</item>

View File

@@ -409,6 +409,18 @@ public class WifiConfigController implements TextWatcher,
return enabled; return enabled;
} }
void showWarningMessageIfAppropriate() {
mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.GONE);
if (mEapCaCertSpinner != null
&& mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE
&& ((String) mEapCaCertSpinner.getSelectedItem())
.equals(mDoNotValidateEapServerString)) {
// Display warning if user chooses not to validate the EAP server with a user-supplied
// CA certificate in an EAP network configuration.
mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.VISIBLE);
}
}
/* package */ WifiConfiguration getConfig() { /* package */ WifiConfiguration getConfig() {
if (mMode == WifiConfigUiBase.MODE_VIEW) { if (mMode == WifiConfigUiBase.MODE_VIEW) {
return null; return null;
@@ -1115,6 +1127,7 @@ public class WifiConfigController implements TextWatcher,
} else { } else {
showIpConfigFields(); showIpConfigFields();
} }
showWarningMessageIfAppropriate();
enableSubmitIfAppropriate(); enableSubmitIfAppropriate();
} }