From 32a16b8ed26e7cade397db24f896b08e417be79a Mon Sep 17 00:00:00 2001 From: kruland2607 Date: Sat, 2 Jun 2012 04:47:18 +0000 Subject: [PATCH] Refactor the RocketDocument and corresponding data and methods out of Application and into CurrentRocketHolder and CurrentRocket. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@737 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .../sf/openrocket/android/Application.java | 78 ----------------- .../sf/openrocket/android/CurrentRocket.java | 87 +++++++++++++++++++ .../android/CurrentRocketHolder.java | 12 +++ .../openrocket/android/rocket/Component.java | 4 +- .../android/rocket/Configurations.java | 6 +- .../rocket/OpenRocketLoaderActivity.java | 18 ++-- .../android/rocket/OpenRocketViewer.java | 16 ++-- .../openrocket/android/rocket/Overview.java | 4 +- .../rocket/SimulationEditFragment.java | 6 +- .../android/rocket/Simulations.java | 6 +- .../android/rocket/WarningDialogFragment.java | 4 +- .../simulation/SimulationEventsDialog.java | 4 +- .../simulation/SimulationSeriesDialog.java | 5 +- .../simulation/SimulationViewActivity.java | 4 +- .../simulation/SimulationViewFragment.java | 5 +- 15 files changed, 138 insertions(+), 121 deletions(-) create mode 100644 android/src/net/sf/openrocket/android/CurrentRocket.java create mode 100644 android/src/net/sf/openrocket/android/CurrentRocketHolder.java diff --git a/android/src/net/sf/openrocket/android/Application.java b/android/src/net/sf/openrocket/android/Application.java index 43e62542..624df23b 100644 --- a/android/src/net/sf/openrocket/android/Application.java +++ b/android/src/net/sf/openrocket/android/Application.java @@ -1,30 +1,17 @@ package net.sf.openrocket.android; -import java.io.File; -import java.io.IOException; import java.util.Locale; -import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.android.util.AndroidLogWrapper; import net.sf.openrocket.database.ComponentPresetDatabase; -import net.sf.openrocket.document.OpenRocketDocument; -import net.sf.openrocket.document.Simulation; -import net.sf.openrocket.file.openrocket.OpenRocketSaver; import net.sf.openrocket.l10n.DebugTranslator; import net.sf.openrocket.l10n.ResourceBundleTranslator; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.rocketcomponent.Rocket; import android.content.pm.ApplicationInfo; -import android.net.Uri; import android.preference.PreferenceManager; public class Application extends android.app.Application { - private OpenRocketDocument rocketDocument; - private Uri fileUri; - - private WarningSet warnings; - // Big B boolean so I can synchronize on it. private static Boolean initialized = false; @@ -74,69 +61,4 @@ public class Application extends android.app.Application { PreferencesActivity.initializePreferences(this, PreferenceManager.getDefaultSharedPreferences(this)); } - private RocketChangedEventHandler handler; - - public void setHandler( RocketChangedEventHandler handler ) { - this.handler = handler; - } - - /** - * @return the rocketDocument - */ - public OpenRocketDocument getRocketDocument() { - return rocketDocument; - } - - public void addNewSimulation() { - Rocket rocket = rocketDocument.getRocket(); - Simulation newSim = new Simulation(rocket); - newSim.setName(rocketDocument.getNextSimulationName()); - rocketDocument.addSimulation(newSim); - if ( handler != null ) { - handler.simsChangedMessage(); - } - } - - public void deleteSimulation( int simulationPos ) { - rocketDocument.removeSimulation( simulationPos ); - if ( handler != null ) { - handler.simsChangedMessage(); - } - } - - public String addNewMotorConfig() { - String configId = rocketDocument.getRocket().newMotorConfigurationID(); - if ( handler != null ) { - handler.configsChangedMessage(); - } - return configId; - } - /** - * @param rocketDocument the rocketDocument to set - */ - public void setRocketDocument(OpenRocketDocument rocketDocument) { - this.rocketDocument = rocketDocument; - } - - public WarningSet getWarnings() { - return warnings; - } - - public void setWarnings(WarningSet warnings) { - this.warnings = warnings; - } - - public Uri getFileUri() { - return fileUri; - } - - public void setFileUri(Uri fileUri) { - this.fileUri = fileUri; - } - - public void saveOpenRocketDocument() throws IOException { - OpenRocketSaver saver = new OpenRocketSaver(); - saver.save(new File(fileUri.getPath()),rocketDocument); - - } } diff --git a/android/src/net/sf/openrocket/android/CurrentRocket.java b/android/src/net/sf/openrocket/android/CurrentRocket.java new file mode 100644 index 00000000..887a54a1 --- /dev/null +++ b/android/src/net/sf/openrocket/android/CurrentRocket.java @@ -0,0 +1,87 @@ +package net.sf.openrocket.android; + +import java.io.File; +import java.io.IOException; + +import net.sf.openrocket.aerodynamics.WarningSet; +import net.sf.openrocket.document.OpenRocketDocument; +import net.sf.openrocket.document.Simulation; +import net.sf.openrocket.file.openrocket.OpenRocketSaver; +import net.sf.openrocket.rocketcomponent.Rocket; +import android.net.Uri; + +public class CurrentRocket { + + private Uri fileUri; + + private OpenRocketDocument rocketDocument; + private WarningSet warnings; + + private RocketChangedEventHandler handler; + + public void setHandler( RocketChangedEventHandler handler ) { + this.handler = handler; + } + + /** + * @return the rocketDocument + */ + public OpenRocketDocument getRocketDocument() { + return rocketDocument; + } + + public void addNewSimulation() { + Rocket rocket = rocketDocument.getRocket(); + Simulation newSim = new Simulation(rocket); + newSim.setName(rocketDocument.getNextSimulationName()); + rocketDocument.addSimulation(newSim); + if ( handler != null ) { + handler.simsChangedMessage(); + } + } + + public void deleteSimulation( int simulationPos ) { + rocketDocument.removeSimulation( simulationPos ); + if ( handler != null ) { + handler.simsChangedMessage(); + } + } + + public String addNewMotorConfig() { + String configId = rocketDocument.getRocket().newMotorConfigurationID(); + if ( handler != null ) { + handler.configsChangedMessage(); + } + return configId; + } + /** + * @param rocketDocument the rocketDocument to set + */ + public void setRocketDocument(OpenRocketDocument rocketDocument) { + this.rocketDocument = rocketDocument; + } + + public WarningSet getWarnings() { + return warnings; + } + + public void setWarnings(WarningSet warnings) { + this.warnings = warnings; + } + + public Uri getFileUri() { + return fileUri; + } + + public void setFileUri(Uri fileUri) { + this.fileUri = fileUri; + } + + public void saveOpenRocketDocument() throws IOException { + OpenRocketSaver saver = new OpenRocketSaver(); + saver.save(new File(fileUri.getPath()),rocketDocument); + + } + + +} diff --git a/android/src/net/sf/openrocket/android/CurrentRocketHolder.java b/android/src/net/sf/openrocket/android/CurrentRocketHolder.java new file mode 100644 index 00000000..566a2dbe --- /dev/null +++ b/android/src/net/sf/openrocket/android/CurrentRocketHolder.java @@ -0,0 +1,12 @@ +package net.sf.openrocket.android; + + +public abstract class CurrentRocketHolder { + + private static CurrentRocket currentRocket = new CurrentRocket(); + + public static CurrentRocket getCurrentRocket() { + return currentRocket; + } + +} diff --git a/android/src/net/sf/openrocket/android/rocket/Component.java b/android/src/net/sf/openrocket/android/rocket/Component.java index a19f2e7c..1cdbc07f 100644 --- a/android/src/net/sf/openrocket/android/rocket/Component.java +++ b/android/src/net/sf/openrocket/android/rocket/Component.java @@ -1,7 +1,7 @@ package net.sf.openrocket.android.rocket; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.rocket.RocketComponentTreeAdapter.RocketComponentWithId; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.rocketcomponent.Rocket; @@ -34,7 +34,7 @@ public class Component extends Fragment { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); componentTree.setAdapter( buildAdapter( rocketDocument.getRocket() ) ); } diff --git a/android/src/net/sf/openrocket/android/rocket/Configurations.java b/android/src/net/sf/openrocket/android/rocket/Configurations.java index 9e4e9183..267507ab 100644 --- a/android/src/net/sf/openrocket/android/rocket/Configurations.java +++ b/android/src/net/sf/openrocket/android/rocket/Configurations.java @@ -3,7 +3,7 @@ package net.sf.openrocket.android.rocket; import java.util.List; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.db.DbAdapter; import net.sf.openrocket.android.motor.ExtendedThrustCurveMotor; import net.sf.openrocket.android.motor.MotorDelayDialogFragment; @@ -72,7 +72,7 @@ public class Configurations extends ExpandableListFragment { } private void addConfiguration() { - ((Application)getActivity().getApplication()).addNewMotorConfig(); + CurrentRocketHolder.getCurrentRocket().addNewMotorConfig(); } private static class MotorMountInfo { @@ -110,7 +110,7 @@ public class Configurations extends ExpandableListFragment { } private void setup() { - final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); ExpandableListAdapter configurationAdapter = new BaseExpandableListAdapter() { diff --git a/android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java b/android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java index a36abbb7..d3ef5086 100644 --- a/android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java +++ b/android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java @@ -5,7 +5,7 @@ import java.util.Set; import net.sf.openrocket.R; import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.thrustcurve.TCMissingMotorDownloadAction; import net.sf.openrocket.android.thrustcurve.TCQueryAction; import net.sf.openrocket.android.util.AndroidLogWrapper; @@ -47,7 +47,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO } private void loadOrkFile( Uri file ) { - ((Application)getApplication()).setFileUri( file ); + CurrentRocketHolder.getCurrentRocket().setFileUri( file ); AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file); String path = file.getPath(); File orkFile = new File(path); @@ -77,15 +77,15 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO dialogBuilder.create().show(); } else { - ((Application)OpenRocketLoaderActivity.this.getApplication()).setRocketDocument( result.rocket ); - ((Application)OpenRocketLoaderActivity.this.getApplication()).setWarnings( result.warnings ); + CurrentRocketHolder.getCurrentRocket().setRocketDocument( result.rocket ); + CurrentRocketHolder.getCurrentRocket().setWarnings( result.warnings ); updateMissingMotors(); } } private void updateMissingMotors() { - Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket(); + Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket(); Set missingMotors = MissingMotorHelpers.findMissingMotors(rocket); if ( missingMotors.size() > 0 ) { @@ -103,8 +103,8 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO @Override public void onTCQueryComplete(String message) { - Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket(); - WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings(); + Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket(); + WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings(); // Need to update the motor references. MissingMotorHelpers.updateMissingMotors(rocket, warnings); @@ -112,7 +112,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO } private void displayWarningDialog() { - WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings(); + WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings(); if (warnings == null || warnings.isEmpty()) { } else { DialogFragment newFragment = WarningDialogFragment.newInstance(); @@ -124,7 +124,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO } public void doFixMissingMotors() { - Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket(); + Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket(); Set missingMotors = MissingMotorHelpers.findMissingMotors(rocket); TCMissingMotorDownloadAction motorfrag = TCMissingMotorDownloadAction.newInstance( missingMotors ); diff --git a/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java b/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java index a0de21bf..98c379e7 100644 --- a/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java +++ b/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java @@ -5,7 +5,7 @@ import java.io.IOException; import net.sf.openrocket.R; import net.sf.openrocket.android.ActivityHelpers; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.simulation.SimulationChart; import net.sf.openrocket.android.simulation.SimulationViewActivity; import net.sf.openrocket.android.simulation.SimulationViewFragment; @@ -30,8 +30,6 @@ public class OpenRocketViewer extends SherlockFragmentActivity implements Simulations.OnSimulationSelectedListener { - private Application app; - private final static int OVERVIEW_POS = 0; private final static int COMPONENT_POS = 1; private final static int SIMS_POS = 2; @@ -44,9 +42,7 @@ implements Simulations.OnSimulationSelectedListener protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - app = (Application) this.getApplication(); - - setTitle(app.getRocketDocument().getRocket().getName()); + setTitle(CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket().getName()); getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.openrocketviewer); @@ -54,12 +50,12 @@ implements Simulations.OnSimulationSelectedListener viewPagerAdapter = new OpenRocketViewerPagerAdapter( this.getSupportFragmentManager() ); viewPager.setAdapter( viewPagerAdapter ); - app.setHandler( new RocketChangedEventHandler( ) ); + CurrentRocketHolder.getCurrentRocket().setHandler( new RocketChangedEventHandler( ) ); } @Override protected void onPause() { - app.setHandler(null); + CurrentRocketHolder.getCurrentRocket().setHandler(null); super.onPause(); } @@ -77,7 +73,7 @@ implements Simulations.OnSimulationSelectedListener case R.id.menu_save: // FIXME - Probably want to open a dialog here. try { - ((Application)getApplication()).saveOpenRocketDocument(); + CurrentRocketHolder.getCurrentRocket().saveOpenRocketDocument(); } catch ( IOException iex ) { AndroidLogWrapper.d(OpenRocketViewer.class, iex.getMessage()); } @@ -101,7 +97,7 @@ implements Simulations.OnSimulationSelectedListener @Override public void onSimulationSelected(int simulationId) { - Simulation sim = app.getRocketDocument().getSimulation(simulationId); + Simulation sim = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getSimulation(simulationId); // Check if there is data for this simulation. if ( sim.getSimulatedData() == null || sim.getSimulatedData().getBranchCount() == 0 ) { AlertDialog.Builder builder = new AlertDialog.Builder(this); diff --git a/android/src/net/sf/openrocket/android/rocket/Overview.java b/android/src/net/sf/openrocket/android/rocket/Overview.java index 88c71868..e4c226fd 100644 --- a/android/src/net/sf/openrocket/android/rocket/Overview.java +++ b/android/src/net/sf/openrocket/android/rocket/Overview.java @@ -5,7 +5,7 @@ import net.sf.openrocket.aerodynamics.AerodynamicCalculator; import net.sf.openrocket.aerodynamics.BarrowmanCalculator; import net.sf.openrocket.aerodynamics.FlightConditions; import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.util.AndroidLogWrapper; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.masscalc.BasicMassCalculator; @@ -75,7 +75,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener } private void setup() { - final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); Rocket rocket = rocketDocument.getRocket(); // Find the index of the default configuration so we can preselect it. diff --git a/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java b/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java index 593e2cde..bb28281d 100644 --- a/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java +++ b/android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java @@ -2,7 +2,7 @@ package net.sf.openrocket.android.rocket; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.Simulation; import net.sf.openrocket.simulation.SimulationOptions; @@ -73,7 +73,7 @@ public class SimulationEditFragment extends SherlockDialogFragment { motorSpinner = (MotorConfigSpinner) v.findViewById(R.id.simulationConditionConfigurationSpinner); - OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); motorSpinner.createAdapter(rocketDocument.getRocket()); @@ -99,7 +99,7 @@ public class SimulationEditFragment extends SherlockDialogFragment { } public void onDelete( ) { - ((Application)getActivity().getApplication()).deleteSimulation(simulationId); + CurrentRocketHolder.getCurrentRocket().deleteSimulation(simulationId); getDialog().dismiss(); } diff --git a/android/src/net/sf/openrocket/android/rocket/Simulations.java b/android/src/net/sf/openrocket/android/rocket/Simulations.java index 79a9a5f6..019accdd 100644 --- a/android/src/net/sf/openrocket/android/rocket/Simulations.java +++ b/android/src/net/sf/openrocket/android/rocket/Simulations.java @@ -1,7 +1,7 @@ package net.sf.openrocket.android.rocket; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.android.util.AndroidLogWrapper; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.Simulation; @@ -112,7 +112,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener } private void setup() { - final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity()); ArrayAdapter sims = new ArrayAdapter(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) { @@ -169,7 +169,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener } private void addSimulation() { - ((Application)getActivity().getApplication()).addNewSimulation(); + CurrentRocketHolder.getCurrentRocket().addNewSimulation(); } } diff --git a/android/src/net/sf/openrocket/android/rocket/WarningDialogFragment.java b/android/src/net/sf/openrocket/android/rocket/WarningDialogFragment.java index bab2cc91..07ca6247 100644 --- a/android/src/net/sf/openrocket/android/rocket/WarningDialogFragment.java +++ b/android/src/net/sf/openrocket/android/rocket/WarningDialogFragment.java @@ -2,7 +2,7 @@ package net.sf.openrocket.android.rocket; import net.sf.openrocket.aerodynamics.Warning; import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; @@ -24,7 +24,7 @@ public class WarningDialogFragment extends DialogFragment { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); // .setIcon(android.R.drawable.alert_dialog_icon) builder.setTitle("Warnings"); - WarningSet warnings = ((Application)(getActivity().getApplication())).getWarnings(); + WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings(); StringBuilder message = new StringBuilder(); for ( Warning w : warnings ) { message.append(w.toString()).append("\n"); diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java b/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java index 5cbae80a..8fc0d1ba 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java @@ -3,7 +3,7 @@ package net.sf.openrocket.android.simulation; import java.util.List; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.simulation.FlightDataBranch; import net.sf.openrocket.simulation.FlightDataType; @@ -37,7 +37,7 @@ public class SimulationEventsDialog extends DialogFragment { eventList = (TableLayout) v.findViewById(R.id.simulationEventsList); eventList.setColumnShrinkable(0, true); - final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); List events = chart.getFlightDataBranch(rocketDocument).getEvents(); diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationSeriesDialog.java b/android/src/net/sf/openrocket/android/simulation/SimulationSeriesDialog.java index f3622c53..8d2c3c2f 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationSeriesDialog.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationSeriesDialog.java @@ -4,10 +4,9 @@ import java.util.ArrayList; import java.util.List; import net.sf.openrocket.R; -import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.simulation.FlightDataType; -import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; @@ -59,7 +58,7 @@ public class SimulationSeriesDialog extends DialogFragment { View v = inflater.inflate(R.layout.simulation_series_dialog, container, false); - OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); Button okButton = (Button) v.findViewById(R.id.simulationOkButton); okButton.setOnClickListener( new View.OnClickListener() { diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java b/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java index 60b0b7bf..1c17c6a0 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java @@ -2,7 +2,7 @@ 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.android.CurrentRocketHolder; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.Simulation; import android.os.Bundle; @@ -23,7 +23,7 @@ public class SimulationViewActivity extends FragmentActivity { //setContentView(R.layout.simulation_graph_activity); int simulationNumber = getIntent().getIntExtra("Simulation", 0); - final OpenRocketDocument rocketDocument = ((Application)getApplication()).getRocketDocument(); + final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); Simulation sim = rocketDocument.getSimulation(simulationNumber); diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationViewFragment.java b/android/src/net/sf/openrocket/android/simulation/SimulationViewFragment.java index 212c0b44..655b154e 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationViewFragment.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationViewFragment.java @@ -3,6 +3,7 @@ package net.sf.openrocket.android.simulation; import net.sf.openrocket.R; import net.sf.openrocket.android.Application; +import net.sf.openrocket.android.CurrentRocketHolder; import net.sf.openrocket.document.OpenRocketDocument; import org.achartengine.GraphicalView; @@ -41,7 +42,7 @@ public class SimulationViewFragment extends Fragment implements SimulationSeries public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setRetainInstance(true); setHasOptionsMenu(true); - OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); this.container = container; if (savedInstanceState != null ) { @@ -77,7 +78,7 @@ public class SimulationViewFragment extends Fragment implements SimulationSeries @Override public void onConfirm() { - OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument(); + OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument(); mChart = chart.buildChart(rocketDocument); ViewGroup parent = (ViewGroup) mView.getParent(); -- 2.47.2