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

Commit 91aeed6f authored by Glen Kuhne's avatar Glen Kuhne Committed by android-build-merger
Browse files

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

am: 85f59ff4

Change-Id: I0812fdee8ad859cb7efb56f980de4ca00ce3f5a5
parents 25d86653 85f59ff4
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -411,15 +411,23 @@ public class WifiConfigController implements TextWatcher,
        submit.setEnabled(isSubmittable());
        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 isSubmittable() {
        boolean enabled = false;
        boolean enabled = false;
        boolean passwordInvalid = false;
        boolean passwordInvalid = false;

        if (mPasswordView != null
        if (mPasswordView != null
                && ((mAccessPointSecurity == AccessPoint.SECURITY_WEP
                && ((mAccessPointSecurity == AccessPoint.SECURITY_WEP
                        && mPasswordView.length() == 0)
                        && mPasswordView.length() == 0)
                    || (mAccessPointSecurity == AccessPoint.SECURITY_PSK
                    || (mAccessPointSecurity == AccessPoint.SECURITY_PSK
                           && (mPasswordView.length() < 8 || mPasswordView.length() > 63)))) {
                           && !isValidPsk(mPasswordView.getText().toString())))) {
            passwordInvalid = true;
            passwordInvalid = true;
        }
        }
        if ((mSsidView != null && mSsidView.length() == 0)
        if ((mSsidView != null && mSsidView.length() == 0)
+11 −2
Original line number Original line Diff line number Diff line
@@ -55,8 +55,9 @@ public class WifiConfigControllerTest {
    private AccessPoint mAccessPoint;
    private AccessPoint mAccessPoint;


    public WifiConfigController mController;
    public WifiConfigController mController;

    private static final String HEX_PSK = "01234567012345670123456701234567012345670123456701234567"
    // An invalid PSK pass phrase. It is 64 characters long, must not be greater than 63
            + "01abcdef";
    // An invalid ASCII PSK pass phrase. It is 64 characters long, must not be greater than 63
    private static final String LONG_PSK =
    private static final String LONG_PSK =
            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl";
            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl";
    // An invalid PSK pass phrase. It is 7 characters long, must be at least 8
    // 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
    @Test
    public void isSubmittable_savedConfigZeroLengthPassword_shouldReturnTrue() {
    public void isSubmittable_savedConfigZeroLengthPassword_shouldReturnTrue() {
        final TextView password = mView.findViewById(R.id.password);
        final TextView password = mView.findViewById(R.id.password);