diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationFragment.java b/android/src/net/sf/openrocket/android/simulation/SimulationFragment.java index dfcd57155..60c868221 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationFragment.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationFragment.java @@ -39,7 +39,7 @@ public class SimulationFragment extends Fragment implements SimulationSeriesDial @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - setRetainInstance(false); + setRetainInstance(true); setHasOptionsMenu(true); OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); @@ -54,9 +54,6 @@ public class SimulationFragment extends Fragment implements SimulationSeriesDial @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - // TODO without the clear it seems to create multiple copies - // of the menu items on orientation change. - menu.clear(); inflater.inflate(R.menu.simulation_option_menu, menu); } diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java b/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java index ec0895dab..8a478ab4d 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java @@ -15,6 +15,8 @@ */ package net.sf.openrocket.android.simulation; +import net.sf.openrocket.R; +import net.sf.openrocket.android.ActivityHelpers; import net.sf.openrocket.android.Application; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.Simulation; @@ -22,6 +24,8 @@ import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; +import android.view.Menu; +import android.view.MenuItem; /** * An activity that encapsulates a graphical view of the chart. @@ -37,7 +41,7 @@ public class SimulationViewActivity extends FragmentActivity { final OpenRocketDocument rocketDocument = ((Application)getApplication()).getRocketDocument(); Simulation sim = rocketDocument.getSimulation(simulationNumber); - + SimulationChart chart = new SimulationChart( simulationNumber); chart.setSeries1(sim.getSimulatedData().getBranch(0).getTypes()[1]); chart.setSeries2(sim.getSimulatedData().getBranch(0).getTypes()[2]); @@ -45,8 +49,25 @@ public class SimulationViewActivity extends FragmentActivity { Fragment graph = SimulationFragment.newInstance(chart); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); - ft.add(android.R.id.content, graph); + ft.replace(android.R.id.content, graph); ft.commit(); } + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + switch (item.getItemId()) { + case R.id.preference_menu_option: + ActivityHelpers.startPreferences(this); + return true; + } + return super.onMenuItemSelected(featureId, item); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuItem prefItem = menu.add(Menu.NONE, R.id.preference_menu_option, Menu.CATEGORY_SYSTEM, R.string.Preferences); + prefItem.setIcon(R.drawable.ic_menu_preferences); + return true; + } + } \ No newline at end of file