Allow 64 char HEX string PSKs in WifiSettingsUi

A check for valid PSKs in the settings UI didnt capture the 64 character
HEX string case. Added a check for it.

Test: tests/app/src/com/android/settings/wifi/WifiSettingsUiTest.java
Test: manual verification
Bug: 67492639
Change-Id: Ide738c4a67f23b613883b4a69f8264a0ffb8a0bc
This commit is contained in:
Glen Kuhne
2017-10-09 15:40:46 -07:00
parent 298ffee39e
commit ddf705903e
2 changed files with 21 additions and 4 deletions

View File

@@ -411,15 +411,23 @@ public class WifiConfigController implements TextWatcher,
submit.setEnabled(isSubmittable());
}
boolean isValidPsk(String password) {
if (password.length() == 64 && password.matches("[0-9A-Fa-f]{64}")) {
return true;
} else if (password.length() >= 8 && password.length() <= 63) {
return true;
}
return false;
}
boolean isSubmittable() {
boolean enabled = false;
boolean passwordInvalid = false;
if (mPasswordView != null
&& ((mAccessPointSecurity == AccessPoint.SECURITY_WEP
&& mPasswordView.length() == 0)
|| (mAccessPointSecurity == AccessPoint.SECURITY_PSK
&& (mPasswordView.length() < 8 || mPasswordView.length() > 63)))) {
&& !isValidPsk(mPasswordView.getText().toString())))) {
passwordInvalid = true;
}
if ((mSsidView != null && mSsidView.length() == 0)