From 21d07b954afc3b2db980baaf12e72ebd0d84f19d Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Wed, 22 Aug 2012 11:36:01 -0700 Subject: [PATCH] Update view on UI thread Bug: 6970872 Change-Id: I05bec7cb8a8292de522cbfe11c0ecd5a79375014 --- src/com/android/settings/wifi/WpsDialog.java | 41 +++++++++++--------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/com/android/settings/wifi/WpsDialog.java b/src/com/android/settings/wifi/WpsDialog.java index b5b48baee8a..2a93884078c 100644 --- a/src/com/android/settings/wifi/WpsDialog.java +++ b/src/com/android/settings/wifi/WpsDialog.java @@ -201,31 +201,36 @@ public class WpsDialog extends AlertDialog { } } - 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();