Fixed a bug were secure Wi-Fi connections would show unsecured.

- Also removed secure summary code as the UX teams has determined it is
  superfluous.

Bug: 16297100
Change-Id: Ib02bc2c0433f5354a8f8cf01f4d8785762a762ad
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f8d5c2c..bfa43a1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1634,12 +1634,6 @@
     <!-- Substring of wifi status when Wi-Fi Protected Setup (WPS) is available and
          string is listed after a wifi_secured_* string-->
     <string name="wifi_wps_available_second_item">\u0020(WPS available)</string>
-    <!-- Substring of wifi status for wifi with authentication.  This version is for when the
-         string is first in the list (titlecase in english) -->
-    <string name="wifi_secured_first_item">Secured with <xliff:g id="wifi_security_short">%1$s</xliff:g></string>
-    <!-- Substring of wifi status for wifi with authentication.  This version is for when the
-         string is not first in the list (lowercase in english) -->
-    <string name="wifi_secured_second_item">, secured with <xliff:g id="wifi_security_short">%1$s</xliff:g></string>
     <!-- Message in WriteWifiConfigToNfcDialog when prompted to enter network password [CHAR_LIMIT=40] -->
     <string name="wifi_wps_nfc_enter_password">Enter your network password</string>
 
diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java
index 0ec1f13..3df4ece 100644
--- a/src/com/android/settings/wifi/AccessPoint.java
+++ b/src/com/android/settings/wifi/AccessPoint.java
@@ -20,6 +20,7 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.StateListDrawable;
 import android.net.NetworkInfo.DetailedState;
 import android.net.wifi.ScanResult;
 import android.net.wifi.WifiConfiguration;
@@ -266,14 +267,17 @@
             Drawable drawable = getIcon();
 
             if (drawable == null) {
-                drawable = context.getTheme().obtainStyledAttributes(
-                        wifi_signal_attributes).getDrawable(0);
+                // To avoid a drawing race condition, we first set the state (SECURE/NONE) and then
+                // set the icon (drawable) to that state's drawable.
+                StateListDrawable sld = (StateListDrawable) context.getTheme()
+                        .obtainStyledAttributes(wifi_signal_attributes).getDrawable(0);
+                sld.setState((security != SECURITY_NONE) ? STATE_SECURED : STATE_NONE);
+                drawable = sld.getCurrent();
                 setIcon(drawable);
             }
 
             if (drawable != null) {
                 drawable.setLevel(level);
-                drawable.setState((security != SECURITY_NONE) ? STATE_SECURED : STATE_NONE);
             }
         }
     }
@@ -554,17 +558,6 @@
             if (mConfig != null) { // Is saved network
                 summary.append(context.getString(R.string.wifi_remembered));
             }
-
-// TODO: Wi-Fi team needs to decide what to do with this code.
-//            if (security != SECURITY_NONE) {
-//                String securityStrFormat;
-//                if (summary.length() == 0) {
-//                    securityStrFormat = context.getString(R.string.wifi_secured_first_item);
-//                } else {
-//                    securityStrFormat = context.getString(R.string.wifi_secured_second_item);
-//                }
-//            }
-
         }
 
         if (WifiSettings.mVerboseLogging > 0) {