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

Commit 57c329c9 authored by Samuel Tan's avatar Samuel Tan
Browse files

Display warning if users does not provide CA cert in EAP config

Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
parent f827c929
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -145,6 +145,18 @@
                            android:prompt="@string/wifi_eap_ca_cert" />
                </LinearLayout>

                <LinearLayout android:id="@+id/no_ca_cert_warning"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:visibility="gone"
                        style="@style/wifi_item" >
                    <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            style="@style/wifi_item_warning"
                            android:text="@string/wifi_do_not_validate_eap_server_warning" />
                </LinearLayout>

                <LinearLayout android:id="@+id/l_user_cert"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
+2 −0
Original line number Diff line number Diff line
@@ -1643,6 +1643,8 @@
    <string name="wifi_do_not_provide_eap_user_cert">Do not provide</string>
    <!-- Menu option for not validating the EAP server -->
    <string name="wifi_do_not_validate_eap_server">Do not validate</string>
    <!-- Warning message displayed if user choses not to validate the EAP server -->
    <string name="wifi_do_not_validate_eap_server_warning">No certificate specified. Your connection will not be private.</string>
    <!-- Substring of status line when Wi-Fi Protected Setup (WPS) is available and
         string is listed first [CHAR LIMIT=20]-->
    <string name="wifi_wps_available_first_item">WPS available</string>
+8 −0
Original line number Diff line number Diff line
@@ -204,6 +204,14 @@
        <item name="android:textColor">?android:attr/textColorSecondary</item>
    </style>

    <style name="wifi_item_warning">
        <item name="android:paddingStart">8dip</item>
        <item name="android:textSize">12sp</item>
        <item name="android:textAlignment">viewStart</item>
        <item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
        <item name="android:textColor">@color/warning</item>
    </style>

    <style name="wifi_item_content">
        <item name="android:textAlignment">viewStart</item>
        <item name="android:textAppearance">@android:style/TextAppearance.Material.Subhead</item>
+13 −0
Original line number Diff line number Diff line
@@ -409,6 +409,18 @@ public class WifiConfigController implements TextWatcher,
        return enabled;
    }

    void showWarningMessageIfAppropriate() {
        mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.GONE);
        if (mEapCaCertSpinner != null
                && mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE
                && ((String) mEapCaCertSpinner.getSelectedItem())
                       .equals(mDoNotValidateEapServerString)) {
            // Display warning if user chooses not to validate the EAP server with a user-supplied
            // CA certificate in an EAP network configuration.
            mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.VISIBLE);
        }
    }

    /* package */ WifiConfiguration getConfig() {
        if (mMode == WifiConfigUiBase.MODE_VIEW) {
            return null;
@@ -1115,6 +1127,7 @@ public class WifiConfigController implements TextWatcher,
        } else {
            showIpConfigFields();
        }
        showWarningMessageIfAppropriate();
        enableSubmitIfAppropriate();
    }