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);