diff --git a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java index 766379f71f60f4967711d5dbbd18e10f73dec15c..8b78f363f33c4515000847656df541944b36a700 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java @@ -99,7 +99,8 @@ public class MainActivity extends Activity{ if (item.getTitle().equals(getString(R.string.menu_parameters))) { Intent intent = new Intent(this, OptionsActivity.class); intent.putExtra("Gmsh", (Parcelable)_gmsh); - startActivity(intent); + intent.putExtra("Compute", _compute); + startActivityForResult(intent, 1); _modelFragment.requestRender(); } else if(item.getTitle().equals(getString(R.string.menu_run))){ @@ -135,6 +136,17 @@ public class MainActivity extends Activity{ return super.onMenuItemSelected(featureId, item); } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + switch (requestCode) { + case 1: + if(resultCode == RESULT_OK) + if(!_compute && data.getBooleanExtra("Compute", false)) new Run().execute(); + break; + } + } + private class Run extends AsyncTask<Void, Void, Integer[]> { @Override diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java index 1e6d6829ecbd7757330e88444b0920c76ca34fe0..e25d2c21afc53970a15ada2887a5d1f143a89850 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java @@ -78,7 +78,7 @@ public class ModelList extends Activity { if(m.getUrl() != null) { actions = new CharSequence[2]; actions[0] = "Open this model"; - actions[1] = "More informations"; + actions[1] = "More information"; } else { actions = new CharSequence[1]; diff --git a/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java index 1c769ebc102eb7576166f7b2f6f7f7648bd30e6a..6ba536201e9a6be3c0b5f51c6b55aca138617560 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/OptionsActivity.java @@ -1,27 +1,51 @@ package org.geuz.onelab; import android.app.Activity; +import android.content.Intent; import android.os.Bundle; +import android.view.Menu; import android.view.MenuItem; +import android.view.WindowManager; public class OptionsActivity extends Activity { + boolean _compute; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_fragment); Bundle extra = getIntent().getExtras(); Gmsh gmsh = extra.getParcelable("Gmsh"); + _compute = extra.getBoolean("Compute", false); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setTitle(R.string.title_activity_options); OptionsFragment optionsFragment = OptionsFragment.newInstance(gmsh); getFragmentManager().beginTransaction().add(R.id.model_fragment, optionsFragment).commit(); } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if(_compute) return super.onCreateOptionsMenu(menu); + MenuItem runStopMenuItem = menu.add(R.string.menu_run); + runStopMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); + return super.onCreateOptionsMenu(menu); + } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { - if(item.getItemId() == android.R.id.home) + if(item.getTitle().equals(getString(R.string.menu_run))) { + Intent returnIntent = new Intent(); + returnIntent.putExtra("Compute", true); + this.setResult(RESULT_OK, returnIntent); + this.finish(); + } + else if(item.getItemId() == android.R.id.home) { + Intent returnIntent = new Intent(); + this.setResult(RESULT_CANCELED, returnIntent); this.finish(); + } return super.onMenuItemSelected(featureId, item); } } diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java b/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java index 5864797deea069be929690b34ad3d3e3574563ef..8e91e8d118e1ea6784ae10d66a10f494f7c094f2 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java @@ -167,7 +167,6 @@ public class ParameterNumber extends Parameter{ _spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onNothingSelected(AdapterView<?> arg0) {} public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { - setValue(_values.get(pos)); _gmsh.setParam(getType(), getName(), String.valueOf(_values.get(pos))); } }); diff --git a/contrib/mobile/Android/src/org/geuz/onelab/PostProcessingActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/PostProcessingActivity.java index 71b042549f6149b21e0ebd6a86d7e353d03bd99b..f0407e4805c0b3ed8ef72d68b26f29f893e32e98 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/PostProcessingActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/PostProcessingActivity.java @@ -3,11 +3,13 @@ package org.geuz.onelab; import android.app.Activity; import android.os.Bundle; import android.view.MenuItem; +import android.view.WindowManager; public class PostProcessingActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_fragment); Bundle extra = getIntent().getExtras(); int id = extra.getInt("PView", 0);