Hide EAP SIM, AKA & AKA' choices in wifi Settings if device doesn't support.
Bug: 22014309
Change-Id: I606649cb4d2e13330afa89075ad074e7dc525f87
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 93ad961..87d979e 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -324,6 +324,18 @@
<item>AKA\'</item>
</string-array>
+ <!-- Type of EAP method when EAP SIM, AKA, AKA' are not supported -->
+ <string-array name="eap_method_without_sim_auth">
+ <!-- Do not translate. -->
+ <item>PEAP</item>
+ <!-- Do not translate. -->
+ <item>TLS</item>
+ <!-- Do not translate. -->
+ <item>TTLS</item>
+ <!-- Do not translate. -->
+ <item>PWD</item>
+ </string-array>
+
<!-- Wi-Fi AP band settings. Either 2.4GHz or 5GHz. -->
<!-- Note that adding/removing/moving the items will need wifi settings code change. -->
<string-array name="wifi_ap_band_config_full">
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 1742c16..3ca9084 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -57,6 +57,7 @@
import com.android.settings.ProxySelector;
import com.android.settings.R;
import com.android.settingslib.wifi.AccessPoint;
+import com.android.settings.Utils;
import java.net.InetAddress;
import java.net.Inet4Address;
@@ -637,6 +638,16 @@
if (mEapMethodSpinner == null) {
mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
mEapMethodSpinner.setOnItemSelectedListener(this);
+ if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_eap_sim_based_auth_supported)) {
+ String[] eapMethods = mContext.getResources().getStringArray(
+ R.array.eap_method_without_sim_auth);
+ ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(mContext,
+ android.R.layout.simple_spinner_item, eapMethods);
+ spinnerAdapter.setDropDownViewResource(
+ android.R.layout.simple_spinner_dropdown_item);
+ mEapMethodSpinner.setAdapter(spinnerAdapter);
+ }
mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);