Update scan and last network info in the WorkThread am: cf0875a
am: c441faa

* commit 'c441faa6de5618e9da029858ce83b3e129be2974':
  Update scan and last network info in the WorkThread

Change-Id: I69ee081eb91a521e7c6cdc7ca6e96ebc230c1aba
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index c28288e..d3236d3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -470,20 +470,7 @@
     }
 
     private void updateWifiState(int state) {
-        if (state == WifiManager.WIFI_STATE_ENABLED) {
-            if (mScanner != null) {
-                // We only need to resume if mScanner isn't null because
-                // that means we want to be scanning.
-                mScanner.resume();
-            }
-        } else {
-            mLastInfo = null;
-            mLastNetworkInfo = null;
-            if (mScanner != null) {
-                mScanner.pause();
-            }
-        }
-        mMainHandler.obtainMessage(MainHandler.MSG_WIFI_STATE_CHANGED, state, 0).sendToTarget();
+        mWorkHandler.obtainMessage(WorkHandler.MSG_UPDATE_WIFI_STATE, state, 0).sendToTarget();
     }
 
     public static List<AccessPoint> getCurrentAccessPoints(Context context, boolean includeSaved,
@@ -566,6 +553,7 @@
         private static final int MSG_UPDATE_ACCESS_POINTS = 0;
         private static final int MSG_UPDATE_NETWORK_INFO = 1;
         private static final int MSG_RESUME = 2;
+        private static final int MSG_UPDATE_WIFI_STATE = 3;
 
         public WorkHandler(Looper looper) {
             super(looper);
@@ -583,6 +571,23 @@
                 case MSG_RESUME:
                     handleResume();
                     break;
+                case MSG_UPDATE_WIFI_STATE:
+                    if (msg.arg1 == WifiManager.WIFI_STATE_ENABLED) {
+                        if (mScanner != null) {
+                            // We only need to resume if mScanner isn't null because
+                            // that means we want to be scanning.
+                            mScanner.resume();
+                        }
+                    } else {
+                        mLastInfo = null;
+                        mLastNetworkInfo = null;
+                        if (mScanner != null) {
+                            mScanner.pause();
+                        }
+                    }
+                    mMainHandler.obtainMessage(MainHandler.MSG_WIFI_STATE_CHANGED, msg.arg1, 0)
+                            .sendToTarget();
+                    break;
             }
         }
     }