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

Commit b2295174 authored by Chung-yih Wang's avatar Chung-yih Wang
Browse files

Add the missing phase2 field in EAP configuration.

+ Enable the password field for configuring the EAP-APs scanned.
parent e0b5f33c
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -246,7 +246,6 @@ public class AccessPointDialog extends AlertDialog implements DialogInterface.On
        } else if (mMode == MODE_INFO) {
            if (mState.isEnterprise() && !mState.configured) {
                setLayout(R.layout.wifi_ap_configure);
                defaultPasswordVisibility = false;
                setEnterpriseFieldsVisible(true);
            } else {
                setLayout(R.layout.wifi_ap_info);
@@ -319,6 +318,8 @@ public class AccessPointDialog extends AlertDialog implements DialogInterface.On
        if (mMode == MODE_CONFIGURE ||
                (mState.isEnterprise() && !mState.configured)) {
            setEnterpriseFields(view);
            mPhase2Spinner.setSelection(getSelectionIndex(
                    R.array.wifi_phase2_entries, mState.getPhase2()));
            mEapSpinner.setSelection(getSelectionIndex(
                    R.array.wifi_eap_entries, mState.getEap()));
            mClientCertSpinner.setSelection(getSelectionIndex(
@@ -663,14 +664,15 @@ public class AccessPointDialog extends AlertDialog implements DialogInterface.On
            }
        }
        switch (securityType) {
            case SECURITY_IEEE8021X: 
            case SECURITY_WPA_EAP: {
                if (securityType == SECURITY_WPA_EAP) {
                    mState.setSecurity(AccessPointState.WPA_EAP);
                mState.setEap(mEapSpinner.getSelectedItemPosition());
                break;
            }
            case SECURITY_IEEE8021X: {
                } else {
                    mState.setSecurity(AccessPointState.IEEE8021X);
                }
                mState.setEap(mEapSpinner.getSelectedItemPosition());
                mState.setPhase2(mPhase2Spinner.getSelectedItem());
                break;
            }
            default:
+17 −1
Original line number Diff line number Diff line
@@ -375,12 +375,22 @@ public final class AccessPointState implements Comparable<AccessPointState>, Par

    /* For Enterprise Fields */
    public void setEnterpriseField(int field, String value) {
        if (value != null && field >= 0 && field < MAX_ENTRPRISE_FIELD) {
        if ((value != null) && (field >= 0) && (field < MAX_ENTRPRISE_FIELD)) {
            this.mEnterpriseFields[field] = value;
            requestRefresh();
        }
    }

    public void setPhase2(String phase2) {
        if (!TextUtils.isEmpty(phase2) && (!phase2.equals("None"))) {
            mPhase2 = phase2;
        }
    }

    public String getPhase2() {
        return mPhase2;
    }

    public void setEap(int method) {
        mEap =  EAP_METHOD[method];
        requestRefresh();
@@ -495,6 +505,12 @@ public final class AccessPointState implements Comparable<AccessPointState>, Par
        config.hiddenSSID = hiddenSsid;
        config.SSID = convertToQuotedString(ssid);
        config.eap = mEap;

        if (!TextUtils.isEmpty(mPhase2)) {
            config.phase2 = convertToQuotedString("auth=" + mPhase2);
        } else {
            config.phase2 = null;
        }
        if (!TextUtils.isEmpty(mEnterpriseFields[IDENTITY])) {
            config.identity =
                    convertToQuotedString(mEnterpriseFields[IDENTITY]);