Merge "Provide help to turn off auto network disable"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ddf75df..78b18c0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1220,6 +1220,10 @@
     <string name="wifi_disabled_generic">Disabled</string>
     <!-- Status for networked disabled from a DNS or DHCP failure -->
     <string name="wifi_disabled_network_failure">Avoided poor internet connection</string>
+    <!-- Heading in the Wi-Fi dialog box when we display a reason for disabling a connection -->
+    <string name="wifi_disabled_heading">Details</string>
+    <!-- Detailed message in Wi-Fi dialog when we disable Wi-Fi due to DNS failure. -->
+    <string name="wifi_disabled_help">Network avoided due to poor connection. You can turn off this behavior of avoiding a network with poor connection in advanced menu of Wi-Fi settings.</string>
     <!-- Status for networks disabled from authentication failure (wrong password
          or certificate). -->
     <string name="wifi_disabled_password_failure">Authentication problem</string>
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 2cbe260..8d4e77b 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -31,6 +31,7 @@
 import android.net.wifi.WifiConfiguration.IpAssignment;
 import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiConfiguration.ProxySettings;
+import android.net.wifi.WifiConfiguration.Status;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WpsConfiguration;
 import android.net.wifi.WpsConfiguration.Setup;
@@ -216,6 +217,13 @@
                 } else {
                     mProxySettingsSpinner.setSelection(PROXY_NONE);
                 }
+
+                if (config.status == Status.DISABLED &&
+                        config.disableReason == WifiConfiguration.DISABLED_DNS_FAILURE) {
+                    addRow(group, R.string.wifi_disabled_heading,
+                            context.getString(R.string.wifi_disabled_help));
+                }
+
             }
 
             /* Show network setup options only for a new network */