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 68ddb3ca640..e0f0f64d7b5 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -133,6 +133,7 @@ public class WifiConfigController implements TextWatcher, @VisibleForTesting int mAccessPointSecurity; private TextView mPasswordView; + private TextView mSaePasswordIdView; private ImageButton mSsidScanButton; private String mUnspecifiedCertString; @@ -797,6 +798,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: @@ -979,6 +985,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); @@ -1260,6 +1283,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); }