From faef0ad62139ef4fbf6ab8d584a16dbf49b1c193 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 25 Jul 2014 15:52:57 +0200 Subject: [PATCH] Fix UI code called from background thread causing crash --- .../setup/RemoteProvisioningActivity.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/org/linphone/setup/RemoteProvisioningActivity.java b/src/org/linphone/setup/RemoteProvisioningActivity.java index 3e3d57c1e..38f4b04d8 100644 --- a/src/org/linphone/setup/RemoteProvisioningActivity.java +++ b/src/org/linphone/setup/RemoteProvisioningActivity.java @@ -78,13 +78,18 @@ public class RemoteProvisioningActivity extends Activity implements LinphoneOnRe } @Override - public void onConfiguringStatus(RemoteProvisioningState state) { - if (spinner != null) spinner.setVisibility(View.GONE); - if (state == RemoteProvisioningState.ConfiguringSuccessful) { - goToLinphoneActivity(); - } else if (state == RemoteProvisioningState.ConfiguringFailed) { - Toast.makeText(this, R.string.remote_provisioning_failure, Toast.LENGTH_LONG).show(); - } + public void onConfiguringStatus(final RemoteProvisioningState state) { + mHandler.post(new Runnable() { + @Override + public void run() { + if (spinner != null) spinner.setVisibility(View.GONE); + if (state == RemoteProvisioningState.ConfiguringSuccessful) { + goToLinphoneActivity(); + } else if (state == RemoteProvisioningState.ConfiguringFailed) { + Toast.makeText(RemoteProvisioningActivity.this, R.string.remote_provisioning_failure, Toast.LENGTH_LONG).show(); + } + } + }); } @Override @@ -132,7 +137,12 @@ public class RemoteProvisioningActivity extends Activity implements LinphoneOnRe } }); } else { - setRemoteProvisioningAddressAndRestart(configUriParam); + mHandler.post(new Runnable() { + @Override + public void run() { + setRemoteProvisioningAddressAndRestart(configUriParam); + } + }); } } }