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();