From 44fa9d579dad58c19a8ee7ca0c48ae53ecad7698 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Fri, 20 Sep 2019 18:45:28 +0800 Subject: [PATCH] [Wi-Fi] Improve UX when there is no user certificate to choose for WPA-Enterprise 192-bit Show error message when a user does not specify a user certificate for WPA3-Enterprise 192-bit. Bug: 138417816 Test: visual Change-Id: Ifc519d484dbf78dad37ad7047e8b9bb40685d54c --- res/layout/wifi_dialog.xml | 12 ++++++++++++ res/values/strings.xml | 4 ++++ .../android/settings/wifi/WifiConfigController.java | 9 +++++++++ 3 files changed, 25 insertions(+) diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml index a7c16902070..64d50f62308 100644 --- a/res/layout/wifi_dialog.xml +++ b/res/layout/wifi_dialog.xml @@ -257,6 +257,18 @@ android:prompt="@string/wifi_eap_user_cert" /> + + + + Must specify a domain. + + This option requires a user certificate. WPS available diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 8bb023da428..c31b857106e 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -555,6 +555,7 @@ public class WifiConfigController implements TextWatcher, void showWarningMessagesIfAppropriate() { mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.GONE); + mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.GONE); mView.findViewById(R.id.no_domain_warning).setVisibility(View.GONE); mView.findViewById(R.id.ssid_too_long_warning).setVisibility(View.GONE); @@ -582,6 +583,14 @@ public class WifiConfigController implements TextWatcher, mView.findViewById(R.id.no_domain_warning).setVisibility(View.VISIBLE); } } + + if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B && + mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_TLS) { + String userCertSelection = (String) mEapUserCertSpinner.getSelectedItem(); + if (userCertSelection.equals(mUnspecifiedCertString)) { + mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.VISIBLE); + } + } } /**