Update view on UI thread

Bug: 6970872
Change-Id: I05bec7cb8a8292de522cbfe11c0ecd5a79375014
diff --git a/src/com/android/settings/wifi/WpsDialog.java b/src/com/android/settings/wifi/WpsDialog.java
index b5b48ba..2a93884 100644
--- a/src/com/android/settings/wifi/WpsDialog.java
+++ b/src/com/android/settings/wifi/WpsDialog.java
@@ -201,31 +201,36 @@
         }
     }
 
-    private void updateDialog(DialogState state, String msg) {
+    private void updateDialog(final DialogState state, final String msg) {
         if (mDialogState.ordinal() >= state.ordinal()) {
             //ignore.
             return;
         }
         mDialogState = state;
 
-        switch(state) {
-            case WPS_COMPLETE:
-                mTimeoutBar.setVisibility(View.GONE);
-                mProgressBar.setVisibility(View.VISIBLE);
-                break;
-            case CONNECTED:
-            case WPS_FAILED:
-                mButton.setText(mContext.getString(R.string.dlg_ok));
-                mTimeoutBar.setVisibility(View.GONE);
-                mProgressBar.setVisibility(View.GONE);
-                if (mReceiver != null) {
-                    mContext.unregisterReceiver(mReceiver);
-                    mReceiver = null;
+        mHandler.post(new Runnable() {
+                @Override
+                public void run() {
+                    switch(state) {
+                        case WPS_COMPLETE:
+                            mTimeoutBar.setVisibility(View.GONE);
+                            mProgressBar.setVisibility(View.VISIBLE);
+                            break;
+                        case CONNECTED:
+                        case WPS_FAILED:
+                            mButton.setText(mContext.getString(R.string.dlg_ok));
+                            mTimeoutBar.setVisibility(View.GONE);
+                            mProgressBar.setVisibility(View.GONE);
+                            if (mReceiver != null) {
+                                mContext.unregisterReceiver(mReceiver);
+                                mReceiver = null;
+                            }
+                            break;
+                    }
+                    mTextView.setText(msg);
                 }
-                break;
-        }
-        mTextView.setText(msg);
-    }
+            });
+   }
 
     private void handleEvent(Context context, Intent intent) {
         String action = intent.getAction();