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

Commit 2fd96bee authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Refine Spinner style in Wi-Fi config settings" into main

parents 133721e2 a4c0b601
Loading
Loading
Loading
Loading
+56 −78
Original line number Diff line number Diff line
@@ -109,11 +109,8 @@
                style="@style/wifi_item_label"
                android:text="@string/wifi_security"/>

            <!-- Entries are added dynamically to this spinner -->
            <!-- See WifiConfigController.configureSecuritySpinner -->
            <Spinner android:id="@+id/security"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/security"
                style="@style/wifi_item_spinner"
                android:prompt="@string/wifi_security"/>
        </LinearLayout>
@@ -142,9 +139,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/wifi_eap_method"/>

                <Spinner android:id="@+id/method"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/method"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/wifi_eap_method"/>
            </LinearLayout>
@@ -160,9 +156,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/sim_card"/>

                <Spinner android:id="@+id/sim"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/sim"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/sim_card"/>
            </LinearLayout>
@@ -178,9 +173,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/please_select_phase2"/>

                <Spinner android:id="@+id/phase2"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/phase2"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/please_select_phase2"/>
            </LinearLayout>
@@ -196,9 +190,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/wifi_eap_ca_cert"/>

                <Spinner android:id="@+id/ca_cert"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/ca_cert"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/wifi_eap_ca_cert"/>
            </LinearLayout>
@@ -214,9 +207,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/wifi_eap_min_tls_ver"/>

                <Spinner android:id="@+id/min_tls_ver"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/min_tls_ver"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/wifi_eap_min_tls_ver"/>
            </LinearLayout>
@@ -232,12 +224,10 @@
                    style="@style/wifi_item_label"
                    android:text="@string/wifi_eap_ocsp"/>

                <Spinner android:id="@+id/ocsp"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/ocsp"
                    style="@style/wifi_item_spinner"
                         android:prompt="@string/wifi_eap_ocsp"
                         android:entries="@array/eap_ocsp_type"/>
                    android:prompt="@string/wifi_eap_ocsp"/>
            </LinearLayout>

            <LinearLayout android:id="@+id/l_domain"
@@ -281,9 +271,8 @@
                    style="@style/wifi_item_label"
                    android:text="@string/wifi_eap_user_cert"/>

                <Spinner android:id="@+id/user_cert"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                <Spinner
                    android:id="@+id/user_cert"
                    style="@style/wifi_item_spinner"
                    android:prompt="@string/wifi_eap_user_cert"/>
            </LinearLayout>
@@ -460,12 +449,10 @@
                      style="@style/wifi_item_label"
                      android:text="@string/wifi_hidden_network"/>

            <Spinner android:id="@+id/hidden_settings"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/hidden_settings"
                style="@style/wifi_item_spinner"
                     android:prompt="@string/wifi_hidden_network"
                     android:entries="@array/wifi_hidden_entries"/>
                android:prompt="@string/wifi_hidden_network"/>

            <TextView android:id="@+id/hidden_settings_warning"
                      android:layout_width="wrap_content"
@@ -488,12 +475,10 @@
                      style="@style/wifi_item_label"
                      android:text="@string/data_usage_metered_yes"/>

            <Spinner android:id="@+id/metered_settings"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/metered_settings"
                style="@style/wifi_item_spinner"
                     android:prompt="@string/data_usage_metered_yes"
                     android:entries="@array/wifi_metered_entries"/>
                android:prompt="@string/data_usage_metered_yes"/>

        </LinearLayout>

@@ -509,12 +494,10 @@
                      style="@style/wifi_item_label"
                      android:text="@string/proxy_settings_title"/>

            <Spinner android:id="@+id/proxy_settings"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/proxy_settings"
                style="@style/wifi_item_spinner"
                     android:prompt="@string/proxy_settings_title"
                     android:entries="@array/wifi_proxy_settings"/>
                android:prompt="@string/proxy_settings_title"/>

        </LinearLayout>

@@ -634,12 +617,10 @@
                style="@style/wifi_item_label"
                android:text="@string/wifi_ip_settings"/>

            <Spinner android:id="@+id/ip_settings"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/ip_settings"
                style="@style/wifi_item_spinner"
                     android:prompt="@string/wifi_ip_settings"
                     android:entries="@array/wifi_ip_settings"/>
                android:prompt="@string/wifi_ip_settings"/>

        </LinearLayout>

@@ -755,19 +736,16 @@
                      style="@style/wifi_item_label"
                      android:text="@string/wifi_privacy_settings"/>

            <Spinner android:id="@+id/privacy_settings"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/privacy_settings"
                style="@style/wifi_item_spinner"
                android:prompt="@string/wifi_privacy_settings"
                android:entries="@array/wifi_privacy_entries"/>

            <Spinner android:id="@+id/dhcp_settings"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            <Spinner
                android:id="@+id/dhcp_settings"
                style="@style/wifi_item_spinner"
                android:prompt="@string/wifi_privacy_device_name_settings"
                android:entries="@array/wifi_dhcp_entries"/>
                android:prompt="@string/wifi_privacy_device_name_settings"/>
        </LinearLayout>

        <LinearLayout
+2 −2
Original line number Diff line number Diff line
@@ -130,8 +130,8 @@
        <item name="android:minHeight">@dimen/min_tap_target_size</item>
    </style>

    <style name="wifi_item_spinner" parent="wifi_item_content">
        <item name="android:minHeight">48dp</item>
    <style name="wifi_item_spinner" parent="@style/Dialog.Spinner">
        <item name="android:textAlignment">viewStart</item>
    </style>

    <style name="wifi_advanced_toggle" parent="wifi_item_content">
+26 −30
Original line number Diff line number Diff line
@@ -53,7 +53,6 @@ import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
@@ -73,6 +72,7 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.utils.AndroidKeystoreAliasLoader;
import com.android.settings.widget.EnhancedSettingsSpinnerAdapter;
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settings.wifi.utils.TextInputGroup;
@@ -163,9 +163,9 @@ public class WifiConfigController implements TextWatcher,
    @VisibleForTesting static final int DHCP_SPINNER_INDEX_SEND_DHCP_HOST_NAME_DISABLE = 1;

    /* Phase2 methods supported by PEAP are limited */
    private ArrayAdapter<CharSequence> mPhase2PeapAdapter;
    private EnhancedSettingsSpinnerAdapter<CharSequence> mPhase2PeapAdapter;
    /* Phase2 methods supported by TTLS are limited */
    private ArrayAdapter<CharSequence> mPhase2TtlsAdapter;
    private EnhancedSettingsSpinnerAdapter<CharSequence> mPhase2TtlsAdapter;

    // e.g. AccessPoint.SECURITY_NONE
    @VisibleForTesting
@@ -186,7 +186,7 @@ public class WifiConfigController implements TextWatcher,
    private TextView mEapDomainView;
    private Spinner mPhase2Spinner;
    // Associated with mPhase2Spinner, one of mPhase2TtlsAdapter or mPhase2PeapAdapter
    private ArrayAdapter<CharSequence> mPhase2Adapter;
    private EnhancedSettingsSpinnerAdapter<CharSequence> mPhase2Adapter;
    private Spinner mEapUserCertSpinner;
    private TextView mEapIdentityView;
    private TextView mEapAnonymousView;
@@ -302,14 +302,20 @@ public class WifiConfigController implements TextWatcher,

        mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button);
        mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
        mIpSettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_ip_settings));
        mIpSettingsSpinner.setOnItemSelectedListener(this);
        mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings);
        mProxySettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_proxy_settings));
        mProxySettingsSpinner.setOnItemSelectedListener(this);
        mSharedCheckBox = (CheckBox) mView.findViewById(R.id.shared);
        mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
        mMeteredSettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_metered_entries));
        mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
        mHiddenSettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_hidden_entries));
        mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
        mPrivacySettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_privacy_entries));
        mDhcpSettingsSpinner = mView.findViewById(R.id.dhcp_settings);
        mDhcpSettingsSpinner.setAdapter(getSpinnerAdapter(R.array.wifi_dhcp_entries));
        if (mWifiManager.isConnectedMacRandomizationSupported()) {
            View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
            privacySettingsLayout.setVisibility(View.VISIBLE);
@@ -1022,6 +1028,7 @@ public class WifiConfigController implements TextWatcher,
            mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
            mEapCaCertSpinner.setOnItemSelectedListener(this);
            mEapOcspSpinner = (Spinner) mView.findViewById(R.id.ocsp);
            mEapOcspSpinner.setAdapter(getSpinnerAdapter(R.array.eap_ocsp_type));
            mEapDomainView = (TextView) mView.findViewById(R.id.domain);
            mEapDomainView.addTextChangedListener(this);
            mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);
@@ -1033,7 +1040,7 @@ public class WifiConfigController implements TextWatcher,
        }

        if (refreshEapMethods) {
            ArrayAdapter<CharSequence> eapMethodSpinnerAdapter;
            EnhancedSettingsSpinnerAdapter<CharSequence> eapMethodSpinnerAdapter;
            if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) {
                eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.wifi_eap_method);
                mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
@@ -1501,7 +1508,6 @@ public class WifiConfigController implements TextWatcher,
            final String[] noSim = new String[]{mContext.getString(R.string.wifi_no_sim_card)};
            mEapSimSpinner.setAdapter(getSpinnerAdapter(noSim));
            mEapSimSpinner.setSelection(0 /* position */);
            mEapSimSpinner.setEnabled(false);
            return;
        }

@@ -1514,9 +1520,6 @@ public class WifiConfigController implements TextWatcher,
        mEapSimSpinner.setAdapter(
            getSpinnerAdapter(displayNames.toArray(new String[displayNames.size()])));
        mEapSimSpinner.setSelection(0 /* position */);
        if (displayNames.size() == 1) {
            mEapSimSpinner.setEnabled(false);
        }
    }

    @VisibleForTesting
@@ -1557,20 +1560,18 @@ public class WifiConfigController implements TextWatcher,
        // If there is only mUnspecifiedCertString and one item to select, only shows the item
        if (certs.size() == 2) {
            certs.remove(mUnspecifiedCertString);
            spinner.setEnabled(false);
        } else {
            spinner.setEnabled(true);
        }

        final ArrayAdapter<CharSequence> adapter = getSpinnerAdapter(
                certs.toArray(new String[certs.size()]));
        EnhancedSettingsSpinnerAdapter<CharSequence> adapter =
                getSpinnerAdapter(certs.toArray(new String[certs.size()]));
        spinner.setAdapter(adapter);
    }

    private void setSelection(Spinner spinner, String value) {
        if (value != null) {
            @SuppressWarnings("unchecked")
            ArrayAdapter<String> adapter = (ArrayAdapter<String>) spinner.getAdapter();
            EnhancedSettingsSpinnerAdapter<String> adapter =
                    (EnhancedSettingsSpinnerAdapter<String>) spinner.getAdapter();
            for (int i = adapter.getCount() - 1; i >= 0; --i) {
                if (value.equals(adapter.getItem(i))) {
                    spinner.setSelection(i);
@@ -1701,9 +1702,8 @@ public class WifiConfigController implements TextWatcher,
        mSecuritySpinner = ((Spinner) mView.findViewById(R.id.security));
        mSecuritySpinner.setOnItemSelectedListener(this);

        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(mContext,
                android.R.layout.simple_spinner_item, android.R.id.text1);
        spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        EnhancedSettingsSpinnerAdapter<String> spinnerAdapter =
                new EnhancedSettingsSpinnerAdapter<>(mContext, new String[0]);
        mSecuritySpinner.setAdapter(spinnerAdapter);
        int idx = 0;

@@ -1784,19 +1784,17 @@ public class WifiConfigController implements TextWatcher,
        return returnEntries;
    }

    private ArrayAdapter<CharSequence> getSpinnerAdapter(
    private EnhancedSettingsSpinnerAdapter<CharSequence> getSpinnerAdapter(
            int contentStringArrayResId) {
        return getSpinnerAdapter(
                mContext.getResources().getStringArray(contentStringArrayResId));
    }

    @VisibleForTesting
    ArrayAdapter<CharSequence> getSpinnerAdapter(
    EnhancedSettingsSpinnerAdapter<CharSequence> getSpinnerAdapter(
            String[] contentStringArray) {
        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext,
                android.R.layout.simple_spinner_item, contentStringArray);
        spinnerAdapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);
        EnhancedSettingsSpinnerAdapter<CharSequence> spinnerAdapter =
                new EnhancedSettingsSpinnerAdapter<>(mContext, contentStringArray);
        return spinnerAdapter;
    }

@@ -1804,7 +1802,7 @@ public class WifiConfigController implements TextWatcher,
     * This function is to span the TTS strings to each EAP method items in the
     * spinner to have detail TTS content for the TTS engine usage.
     */
    private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts(
    private EnhancedSettingsSpinnerAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts(
                int contentStringArrayResId) {
        final Resources res = mContext.getResources();
        CharSequence[] sourceStrings = res.getStringArray(
@@ -1822,11 +1820,9 @@ public class WifiConfigController implements TextWatcher,
        final CharSequence[] accessibilityArray = createAccessibleEntries(
                sourceStrings, newTtsSourceStrings);

        // Return a new ArrayAdapter with the new TalkBack array.
        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(
                mContext, android.R.layout.simple_spinner_item, accessibilityArray);
        spinnerAdapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);
        // Return a new EnhancedSettingsSpinnerAdapter with the new TalkBack array.
        EnhancedSettingsSpinnerAdapter<CharSequence> spinnerAdapter =
                new EnhancedSettingsSpinnerAdapter<>(mContext, accessibilityArray);
        return spinnerAdapter;
    }

+26 −30

File changed.

Preview size limit exceeded, changes collapsed.

+3 −2
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.Spinner;
@@ -61,6 +60,7 @@ import com.android.settings.R;
import com.android.settings.connectivity.Flags;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.utils.AndroidKeystoreAliasLoader;
import com.android.settings.widget.EnhancedSettingsSpinnerAdapter;
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController;
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
import com.android.wifitrackerlib.WifiEntry;
@@ -376,7 +376,8 @@ public class WifiConfigController2Test {
        createController(null, WifiConfigUiBase2.MODE_MODIFY, false);

        final Spinner securitySpinner = mView.findViewById(R.id.security);
        final ArrayAdapter<String> adapter = (ArrayAdapter) securitySpinner.getAdapter();
        EnhancedSettingsSpinnerAdapter<String> adapter =
                (EnhancedSettingsSpinnerAdapter) securitySpinner.getAdapter();
        boolean saeFound = false;
        boolean suitebFound = false;
        boolean oweFound = false;
Loading