[Wi-Fi] Remove unsupported EAP methods for WPA3-Enterprise 192-bit - II

Refine code:
1. Change method name from getSpinnerAdapterWithEapMethods to getSpinnerAdapter
   and apply it to other Spinner adapters.
2. Change method name from getSpinnerArrayWithEapMethodsTts to
   getSpinnerAdapterWithEapMethodsTts and it will
   setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
   for adapters.
3. Remove the code of ag/8693033
4. Improve indentation.

Bug: 135127581
Test: WifiConfigControllerTest
Change-Id: I653eda11ca1b8235c5ecaa1a826a2fddd004d2e1
This commit is contained in:
Arc Wang
2019-07-25 14:51:35 +08:00
parent 6351f7c37a
commit eca48078d5

View File

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