From ab83d915d18d70929f361aa6cf340c524517a3de Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 8 Oct 2016 21:55:59 +0000 Subject: [PATCH] better error handling --- .../src/org/geuz/onelab/MainActivity.java | 42 +++++++------------ 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java index dce8e2004d..7ab2f60f40 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java @@ -38,7 +38,6 @@ public class MainActivity extends Activity{ private MenuItem _runStopMenuItem, _switchFragmentMenuItem; private ModelFragment _modelFragment; private OptionsFragment _optionsFragment; - private ArrayList<String> _errors = new ArrayList<String>(); private Dialog _errorDialog; public MainActivity() { } @@ -136,7 +135,7 @@ public class MainActivity extends Activity{ else if(item.getItemId() == android.R.id.home) { if(this._compute) { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); - _errorDialog = dialogBuilder.setTitle("Cannot show the model list") + dialogBuilder.setTitle("Cannot show the model list") .setMessage("The computation has to complete before you can select another model") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { @@ -201,29 +200,18 @@ public class MainActivity extends Activity{ } } - private void showError() + private void showError(String msg) { - if(_errors.size() > 0){ - if(_errorDialog != null && _errorDialog.isShowing()) _errorDialog.dismiss(); - AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); - dialogBuilder.setTitle("Error") - .setMessage(_errors.get(_errors.size()-1)) - .setNegativeButton("Hide", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - _errors.clear(); - _errorDialog.dismiss(); - } - }); - if(_errors.size()>1) - dialogBuilder.setPositiveButton("Show more", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - _errors.remove(_errors.size()-1); - _errorDialog.dismiss(); - showError(); - } - }); - _errorDialog = dialogBuilder.show(); - } + if(_errorDialog != null && _errorDialog.isShowing()) return; + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + _errorDialog = dialogBuilder.setTitle("Error") + .setMessage(msg) + .setPositiveButton("Dismiss", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }) + .show(); } @Override protected void onPause() @@ -329,16 +317,14 @@ public class MainActivity extends Activity{ public void handleMessage(android.os.Message msg) { switch (msg.what) { case 0: // we get a message from gmsh library - String message =(String) msg.obj; - _errors.add(message); - showError(); + showError((String)msg.obj); break; case 1: // request render from gmsh library if(_modelFragment != null) _modelFragment.requestRender(); if(_optionsFragment != null) _optionsFragment.refresh(); break; case 2: // we get a message for loading - if(_modelFragment != null) _modelFragment.showProgress((String) msg.obj); + if(_modelFragment != null) _modelFragment.showProgress((String)msg.obj); break; case 3: // we get a progress for loading //loading.setProgress(msg.arg1); -- GitLab