Loading src/com/android/settings/wifi/WifiConfigController.java +87 −96 Original line number Diff line number Diff line Loading @@ -221,19 +221,13 @@ public class WifiConfigController implements TextWatcher, mLevels = res.getStringArray(R.array.wifi_signal); if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean( com.android.internal.R.bool.config_eap_sim_based_auth_supported)) { mPhase2PeapAdapter = new ArrayAdapter<CharSequence>( mContext, android.R.layout.simple_spinner_item, res.getStringArray(R.array.wifi_peap_phase2_entries)); mPhase2PeapAdapter = getSpinnerAdapter(R.array.wifi_peap_phase2_entries); } else { mPhase2PeapAdapter = getSpinnerArrayWithEapMethodsTts( mPhase2PeapAdapter = getSpinnerAdapterWithEapMethodsTts( R.array.wifi_peap_phase2_entries_with_sim_auth); } mPhase2PeapAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mPhase2FullAdapter = new ArrayAdapter<CharSequence>( mContext, android.R.layout.simple_spinner_item, res.getStringArray(R.array.wifi_phase2_entries)); mPhase2FullAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mPhase2FullAdapter = getSpinnerAdapter(R.array.wifi_phase2_entries); mUnspecifiedCertString = mContext.getString(R.string.wifi_unspecified); mMultipleCertSetString = mContext.getString(R.string.wifi_multiple_cert_added); Loading Loading @@ -680,12 +674,6 @@ public class WifiConfigController implements TextWatcher, config.enterpriseConfig = new WifiEnterpriseConfig(); int eapMethod = mEapMethodSpinner.getSelectedItemPosition(); int phase2Method = mPhase2Spinner.getSelectedItemPosition(); if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) { if (eapMethod != WIFI_EAP_METHOD_TLS) { Log.e(TAG, "WPA3-Enterprise 192-bit EAP method must be EAP-TLS"); return null; } } config.enterpriseConfig.setEapMethod(eapMethod); switch (eapMethod) { case Eap.PEAP: Loading Loading @@ -1005,21 +993,18 @@ public class WifiConfigController implements TextWatcher, if (refreshEapMethods) { ArrayAdapter<CharSequence> eapMethodSpinnerAdapter; if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) { eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethods(R.array.wifi_eap_method); eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.wifi_eap_method); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); // WAP3-Enterprise 192-bit only allows EAP method TLS mEapMethodSpinner.setSelection(Eap.TLS); mEapMethodSpinner.setEnabled(false); } else if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean( com.android.internal.R.bool.config_eap_sim_based_auth_supported)) { eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethods( R.array.eap_method_without_sim_auth); eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.eap_method_without_sim_auth); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); mEapMethodSpinner.setEnabled(true); } else { eapMethodSpinnerAdapter = getSpinnerArrayWithEapMethodsTts(R.array.wifi_eap_method); eapMethodSpinnerAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethodsTts(R.array.wifi_eap_method); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); mEapMethodSpinner.setEnabled(true); } Loading Loading @@ -1417,10 +1402,8 @@ public class WifiConfigController implements TextWatcher, spinner.setEnabled(true); } final ArrayAdapter<String> adapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, final ArrayAdapter<CharSequence> adapter = getSpinnerAdapter( certs.toArray(new String[certs.size()])); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); } Loading Loading @@ -1642,12 +1625,16 @@ public class WifiConfigController implements TextWatcher, return returnEntries; } private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethods( private ArrayAdapter<CharSequence> getSpinnerAdapter( int contentStringArrayResId) { String[] eapMethods = mContext.getResources().getStringArray( contentStringArrayResId); return getSpinnerAdapter( mContext.getResources().getStringArray(contentStringArrayResId)); } private ArrayAdapter<CharSequence> getSpinnerAdapter( String[] contentStringArray) { ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext, android.R.layout.simple_spinner_item, eapMethods); android.R.layout.simple_spinner_item, contentStringArray); spinnerAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); return spinnerAdapter; Loading @@ -1657,10 +1644,11 @@ 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> getSpinnerArrayWithEapMethodsTts(int resid) { private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts( int contentStringArrayResId) { final Resources res = mContext.getResources(); CharSequence[] sourceStrings = res.getStringArray( resid); contentStringArrayResId); CharSequence[] targetStrings = res.getStringArray( R.array.wifi_eap_method_target_strings); CharSequence[] ttsStrings = res.getStringArray( Loading @@ -1670,13 +1658,16 @@ public class WifiConfigController implements TextWatcher, final CharSequence[] newTtsSourceStrings = findAndReplaceTargetStrings( sourceStrings, targetStrings, ttsStrings); // Build new ttsspan text arrays for talkback. // Build new TtsSpan text arrays for TalkBack. final CharSequence[] accessibilityArray = createAccessibleEntries( sourceStrings, newTtsSourceStrings); // Return a new ArrayAdapter with the new talkback array. return new ArrayAdapter<CharSequence>( // 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 spinnerAdapter; } private SpannableString[] createAccessibleEntries(CharSequence entries[], Loading Loading
src/com/android/settings/wifi/WifiConfigController.java +87 −96 Original line number Diff line number Diff line Loading @@ -221,19 +221,13 @@ public class WifiConfigController implements TextWatcher, mLevels = res.getStringArray(R.array.wifi_signal); if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean( com.android.internal.R.bool.config_eap_sim_based_auth_supported)) { mPhase2PeapAdapter = new ArrayAdapter<CharSequence>( mContext, android.R.layout.simple_spinner_item, res.getStringArray(R.array.wifi_peap_phase2_entries)); mPhase2PeapAdapter = getSpinnerAdapter(R.array.wifi_peap_phase2_entries); } else { mPhase2PeapAdapter = getSpinnerArrayWithEapMethodsTts( mPhase2PeapAdapter = getSpinnerAdapterWithEapMethodsTts( R.array.wifi_peap_phase2_entries_with_sim_auth); } mPhase2PeapAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mPhase2FullAdapter = new ArrayAdapter<CharSequence>( mContext, android.R.layout.simple_spinner_item, res.getStringArray(R.array.wifi_phase2_entries)); mPhase2FullAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mPhase2FullAdapter = getSpinnerAdapter(R.array.wifi_phase2_entries); mUnspecifiedCertString = mContext.getString(R.string.wifi_unspecified); mMultipleCertSetString = mContext.getString(R.string.wifi_multiple_cert_added); Loading Loading @@ -680,12 +674,6 @@ public class WifiConfigController implements TextWatcher, config.enterpriseConfig = new WifiEnterpriseConfig(); int eapMethod = mEapMethodSpinner.getSelectedItemPosition(); int phase2Method = mPhase2Spinner.getSelectedItemPosition(); if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) { if (eapMethod != WIFI_EAP_METHOD_TLS) { Log.e(TAG, "WPA3-Enterprise 192-bit EAP method must be EAP-TLS"); return null; } } config.enterpriseConfig.setEapMethod(eapMethod); switch (eapMethod) { case Eap.PEAP: Loading Loading @@ -1005,21 +993,18 @@ public class WifiConfigController implements TextWatcher, if (refreshEapMethods) { ArrayAdapter<CharSequence> eapMethodSpinnerAdapter; if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) { eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethods(R.array.wifi_eap_method); eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.wifi_eap_method); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); // WAP3-Enterprise 192-bit only allows EAP method TLS mEapMethodSpinner.setSelection(Eap.TLS); mEapMethodSpinner.setEnabled(false); } else if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean( com.android.internal.R.bool.config_eap_sim_based_auth_supported)) { eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethods( R.array.eap_method_without_sim_auth); eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.eap_method_without_sim_auth); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); mEapMethodSpinner.setEnabled(true); } else { eapMethodSpinnerAdapter = getSpinnerArrayWithEapMethodsTts(R.array.wifi_eap_method); eapMethodSpinnerAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethodsTts(R.array.wifi_eap_method); mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter); mEapMethodSpinner.setEnabled(true); } Loading Loading @@ -1417,10 +1402,8 @@ public class WifiConfigController implements TextWatcher, spinner.setEnabled(true); } final ArrayAdapter<String> adapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, final ArrayAdapter<CharSequence> adapter = getSpinnerAdapter( certs.toArray(new String[certs.size()])); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); } Loading Loading @@ -1642,12 +1625,16 @@ public class WifiConfigController implements TextWatcher, return returnEntries; } private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethods( private ArrayAdapter<CharSequence> getSpinnerAdapter( int contentStringArrayResId) { String[] eapMethods = mContext.getResources().getStringArray( contentStringArrayResId); return getSpinnerAdapter( mContext.getResources().getStringArray(contentStringArrayResId)); } private ArrayAdapter<CharSequence> getSpinnerAdapter( String[] contentStringArray) { ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext, android.R.layout.simple_spinner_item, eapMethods); android.R.layout.simple_spinner_item, contentStringArray); spinnerAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); return spinnerAdapter; Loading @@ -1657,10 +1644,11 @@ 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> getSpinnerArrayWithEapMethodsTts(int resid) { private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts( int contentStringArrayResId) { final Resources res = mContext.getResources(); CharSequence[] sourceStrings = res.getStringArray( resid); contentStringArrayResId); CharSequence[] targetStrings = res.getStringArray( R.array.wifi_eap_method_target_strings); CharSequence[] ttsStrings = res.getStringArray( Loading @@ -1670,13 +1658,16 @@ public class WifiConfigController implements TextWatcher, final CharSequence[] newTtsSourceStrings = findAndReplaceTargetStrings( sourceStrings, targetStrings, ttsStrings); // Build new ttsspan text arrays for talkback. // Build new TtsSpan text arrays for TalkBack. final CharSequence[] accessibilityArray = createAccessibleEntries( sourceStrings, newTtsSourceStrings); // Return a new ArrayAdapter with the new talkback array. return new ArrayAdapter<CharSequence>( // 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 spinnerAdapter; } private SpannableString[] createAccessibleEntries(CharSequence entries[], Loading