diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml index b9a910bd2fd..83a08336c32 100644 --- a/res/layout/wifi_dialog.xml +++ b/res/layout/wifi_dialog.xml @@ -311,6 +311,25 @@ style="@style/wifi_item_content" android:text="@string/wifi_show_password" /> + + + + + + Anonymous identity Password + + SAE password identifier Show password diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index df6e470a92f..83b7baf54b4 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -131,6 +131,7 @@ public class WifiConfigController implements TextWatcher, @VisibleForTesting int mAccessPointSecurity; private TextView mPasswordView; + private TextView mSaePasswordIdView; private ImageButton mSsidScanButton; private String mUnspecifiedCertString; @@ -786,6 +787,11 @@ public class WifiConfigController implements TextWatcher, String password = mPasswordView.getText().toString(); config.preSharedKey = '"' + password + '"'; } + if (mSaePasswordIdView.length() != 0) { + config.saePasswordId = mSaePasswordIdView.getText().toString(); + } else { + config.saePasswordId = null; + } break; case AccessPoint.SECURITY_OWE: @@ -968,6 +974,23 @@ public class WifiConfigController implements TextWatcher, } } + if (mSaePasswordIdView == null) { + mSaePasswordIdView = (TextView) mView.findViewById(R.id.sae_password_id); + mSaePasswordIdView.setOnEditorActionListener(this); + mSaePasswordIdView.setOnKeyListener(this); + } + + if (mAccessPointSecurity == AccessPoint.SECURITY_SAE) { + mView.findViewById(R.id.sae_password_id_layout).setVisibility(View.VISIBLE); + if (mAccessPoint != null && mAccessPoint.isSaved()) { + if (!TextUtils.isEmpty(mAccessPoint.getConfig().saePasswordId)) { + mSaePasswordIdView.setText(mAccessPoint.getConfig().saePasswordId); + } + } + } else { + setSaePasswordIdInvisible(); + } + if (mAccessPointSecurity != AccessPoint.SECURITY_EAP && mAccessPointSecurity != AccessPoint.SECURITY_EAP_SUITE_B) { mView.findViewById(R.id.eap).setVisibility(View.GONE); @@ -1249,6 +1272,11 @@ public class WifiConfigController implements TextWatcher, mView.findViewById(R.id.show_password_layout).setVisibility(View.GONE); } + private void setSaePasswordIdInvisible() { + mSaePasswordIdView.setText(""); + mView.findViewById(R.id.sae_password_id_layout).setVisibility(View.GONE); + } + private void setEapMethodInvisible() { mView.findViewById(R.id.eap).setVisibility(View.GONE); }