Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85f59ff4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allow 64 char HEX string PSKs in WifiSettingsUi" into oc-mr1-dev

parents 1c4d686b ddf70590
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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)
+11 −2
Original line number Diff line number Diff line
@@ -55,8 +55,9 @@ public class WifiConfigControllerTest {
    private AccessPoint mAccessPoint;

    public WifiConfigController mController;

    // An invalid PSK pass phrase. It is 64 characters long, must not be greater than 63
    private static final String HEX_PSK = "01234567012345670123456701234567012345670123456701234567"
            + "01abcdef";
    // An invalid ASCII PSK pass phrase. It is 64 characters long, must not be greater than 63
    private static final String LONG_PSK =
            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl";
    // An invalid PSK pass phrase. It is 7 characters long, must be at least 8
@@ -140,6 +141,14 @@ public class WifiConfigControllerTest {

    }

    @Test
    public void isSubmittable_hexPsk_shouldReturnTrue() {
        final TextView password = mView.findViewById(R.id.password);
        password.setText(HEX_PSK);
        assertThat(mController.isSubmittable()).isTrue();

    }

    @Test
    public void isSubmittable_savedConfigZeroLengthPassword_shouldReturnTrue() {
        final TextView password = mView.findViewById(R.id.password);