Refactor the RocketDocument and corresponding data and methods out of Application...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sat, 2 Jun 2012 04:47:18 +0000 (04:47 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sat, 2 Jun 2012 04:47:18 +0000 (04:47 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@737 180e2498-e6e9-4542-8430-84ac67f01cd8

15 files changed:
android/src/net/sf/openrocket/android/Application.java
android/src/net/sf/openrocket/android/CurrentRocket.java [new file with mode: 0644]
android/src/net/sf/openrocket/android/CurrentRocketHolder.java [new file with mode: 0644]
android/src/net/sf/openrocket/android/rocket/Component.java
android/src/net/sf/openrocket/android/rocket/Configurations.java
android/src/net/sf/openrocket/android/rocket/OpenRocketLoaderActivity.java
android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java
android/src/net/sf/openrocket/android/rocket/Overview.java
android/src/net/sf/openrocket/android/rocket/SimulationEditFragment.java
android/src/net/sf/openrocket/android/rocket/Simulations.java
android/src/net/sf/openrocket/android/rocket/WarningDialogFragment.java
android/src/net/sf/openrocket/android/simulation/SimulationEventsDialog.java
android/src/net/sf/openrocket/android/simulation/SimulationSeriesDialog.java
android/src/net/sf/openrocket/android/simulation/SimulationViewActivity.java
android/src/net/sf/openrocket/android/simulation/SimulationViewFragment.java

index 43e6254221dac01080b4567cd472733b204e23c0..624df23bec72f09727bb342efae37d89c07abec0 100644 (file)
@@ -1,30 +1,17 @@
 package net.sf.openrocket.android;\r
 \r
-import java.io.File;\r
-import java.io.IOException;\r
 import java.util.Locale;\r
 \r
-import net.sf.openrocket.aerodynamics.WarningSet;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
 import net.sf.openrocket.database.ComponentPresetDatabase;\r
-import net.sf.openrocket.document.OpenRocketDocument;\r
-import net.sf.openrocket.document.Simulation;\r
-import net.sf.openrocket.file.openrocket.OpenRocketSaver;\r
 import net.sf.openrocket.l10n.DebugTranslator;\r
 import net.sf.openrocket.l10n.ResourceBundleTranslator;\r
 import net.sf.openrocket.l10n.Translator;\r
-import net.sf.openrocket.rocketcomponent.Rocket;\r
 import android.content.pm.ApplicationInfo;\r
-import android.net.Uri;\r
 import android.preference.PreferenceManager;\r
 \r
 public class Application extends android.app.Application {\r
 \r
-       private OpenRocketDocument rocketDocument;\r
-       private Uri fileUri;\r
-\r
-       private WarningSet warnings;\r
-\r
        // Big B boolean so I can synchronize on it.\r
        private static Boolean initialized = false;\r
 \r
@@ -74,69 +61,4 @@ public class Application extends android.app.Application {
                PreferencesActivity.initializePreferences(this, PreferenceManager.getDefaultSharedPreferences(this));\r
        }\r
 \r
-       private RocketChangedEventHandler handler;\r
-       \r
-       public void setHandler( RocketChangedEventHandler handler ) {\r
-               this.handler = handler;\r
-       }\r
-       \r
-       /**\r
-        * @return the rocketDocument\r
-        */\r
-       public OpenRocketDocument getRocketDocument() {\r
-               return rocketDocument;\r
-       }\r
-\r
-       public void addNewSimulation() {\r
-               Rocket rocket = rocketDocument.getRocket();\r
-               Simulation newSim = new Simulation(rocket);\r
-               newSim.setName(rocketDocument.getNextSimulationName());\r
-               rocketDocument.addSimulation(newSim);\r
-               if ( handler != null ) {\r
-                       handler.simsChangedMessage();\r
-               }\r
-       }\r
-       \r
-       public void deleteSimulation( int simulationPos ) {\r
-               rocketDocument.removeSimulation( simulationPos );\r
-               if ( handler != null ) {\r
-                       handler.simsChangedMessage();\r
-               }\r
-       }\r
-       \r
-       public String addNewMotorConfig() {\r
-               String configId = rocketDocument.getRocket().newMotorConfigurationID();\r
-               if ( handler != null ) {\r
-                       handler.configsChangedMessage();\r
-               }\r
-               return configId;\r
-       }\r
-       /**\r
-        * @param rocketDocument the rocketDocument to set\r
-        */\r
-       public void setRocketDocument(OpenRocketDocument rocketDocument) {\r
-               this.rocketDocument = rocketDocument;\r
-       }\r
-\r
-       public WarningSet getWarnings() {\r
-               return warnings;\r
-       }\r
-\r
-       public void setWarnings(WarningSet warnings) {\r
-               this.warnings = warnings;\r
-       }\r
-\r
-       public Uri getFileUri() {\r
-               return fileUri;\r
-       }\r
-\r
-       public void setFileUri(Uri fileUri) {\r
-               this.fileUri = fileUri;\r
-       }\r
-\r
-       public void saveOpenRocketDocument() throws IOException {\r
-               OpenRocketSaver saver = new OpenRocketSaver();\r
-               saver.save(new File(fileUri.getPath()),rocketDocument);\r
-\r
-       }\r
 }\r
diff --git a/android/src/net/sf/openrocket/android/CurrentRocket.java b/android/src/net/sf/openrocket/android/CurrentRocket.java
new file mode 100644 (file)
index 0000000..887a54a
--- /dev/null
@@ -0,0 +1,87 @@
+package net.sf.openrocket.android;\r
+\r
+import java.io.File;\r
+import java.io.IOException;\r
+\r
+import net.sf.openrocket.aerodynamics.WarningSet;\r
+import net.sf.openrocket.document.OpenRocketDocument;\r
+import net.sf.openrocket.document.Simulation;\r
+import net.sf.openrocket.file.openrocket.OpenRocketSaver;\r
+import net.sf.openrocket.rocketcomponent.Rocket;\r
+import android.net.Uri;\r
+\r
+public class CurrentRocket {\r
+\r
+       private Uri fileUri;\r
+\r
+       private OpenRocketDocument rocketDocument;\r
+       private WarningSet warnings;\r
+\r
+       private RocketChangedEventHandler handler;\r
+       \r
+       public void setHandler( RocketChangedEventHandler handler ) {\r
+               this.handler = handler;\r
+       }\r
+       \r
+       /**\r
+        * @return the rocketDocument\r
+        */\r
+       public OpenRocketDocument getRocketDocument() {\r
+               return rocketDocument;\r
+       }\r
+\r
+       public void addNewSimulation() {\r
+               Rocket rocket = rocketDocument.getRocket();\r
+               Simulation newSim = new Simulation(rocket);\r
+               newSim.setName(rocketDocument.getNextSimulationName());\r
+               rocketDocument.addSimulation(newSim);\r
+               if ( handler != null ) {\r
+                       handler.simsChangedMessage();\r
+               }\r
+       }\r
+       \r
+       public void deleteSimulation( int simulationPos ) {\r
+               rocketDocument.removeSimulation( simulationPos );\r
+               if ( handler != null ) {\r
+                       handler.simsChangedMessage();\r
+               }\r
+       }\r
+       \r
+       public String addNewMotorConfig() {\r
+               String configId = rocketDocument.getRocket().newMotorConfigurationID();\r
+               if ( handler != null ) {\r
+                       handler.configsChangedMessage();\r
+               }\r
+               return configId;\r
+       }\r
+       /**\r
+        * @param rocketDocument the rocketDocument to set\r
+        */\r
+       public void setRocketDocument(OpenRocketDocument rocketDocument) {\r
+               this.rocketDocument = rocketDocument;\r
+       }\r
+\r
+       public WarningSet getWarnings() {\r
+               return warnings;\r
+       }\r
+\r
+       public void setWarnings(WarningSet warnings) {\r
+               this.warnings = warnings;\r
+       }\r
+\r
+       public Uri getFileUri() {\r
+               return fileUri;\r
+       }\r
+\r
+       public void setFileUri(Uri fileUri) {\r
+               this.fileUri = fileUri;\r
+       }\r
+\r
+       public void saveOpenRocketDocument() throws IOException {\r
+               OpenRocketSaver saver = new OpenRocketSaver();\r
+               saver.save(new File(fileUri.getPath()),rocketDocument);\r
+\r
+       }\r
+\r
+\r
+}\r
diff --git a/android/src/net/sf/openrocket/android/CurrentRocketHolder.java b/android/src/net/sf/openrocket/android/CurrentRocketHolder.java
new file mode 100644 (file)
index 0000000..566a2db
--- /dev/null
@@ -0,0 +1,12 @@
+package net.sf.openrocket.android;\r
+\r
+\r
+public abstract class CurrentRocketHolder {\r
+\r
+       private static CurrentRocket currentRocket = new CurrentRocket();\r
+       \r
+       public static CurrentRocket getCurrentRocket() {\r
+               return currentRocket;\r
+       }\r
+       \r
+}\r
index a19f2e7c66130cf850e74726f4e6d2e93899c909..1cdbc07fa4dbfa4391b2b31b498e2e2bbf980579 100644 (file)
@@ -1,7 +1,7 @@
 package net.sf.openrocket.android.rocket;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.rocket.RocketComponentTreeAdapter.RocketComponentWithId;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.rocketcomponent.Rocket;\r
@@ -34,7 +34,7 @@ public class Component extends Fragment {
        public void onActivityCreated(Bundle savedInstanceState) {\r
                super.onActivityCreated(savedInstanceState);\r
 \r
-               final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
                componentTree.setAdapter( buildAdapter( rocketDocument.getRocket() ) );\r
        }\r
        \r
index 9e4e9183aa1e6453a225ec344e170464c5603629..267507ab91148217f7005d05b031d23888346e43 100644 (file)
@@ -3,7 +3,7 @@ package net.sf.openrocket.android.rocket;
 import java.util.List;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.db.DbAdapter;\r
 import net.sf.openrocket.android.motor.ExtendedThrustCurveMotor;\r
 import net.sf.openrocket.android.motor.MotorDelayDialogFragment;\r
@@ -72,7 +72,7 @@ public class Configurations extends ExpandableListFragment {
        }\r
 \r
        private void addConfiguration() {\r
-               ((Application)getActivity().getApplication()).addNewMotorConfig();\r
+               CurrentRocketHolder.getCurrentRocket().addNewMotorConfig();\r
        }\r
        \r
        private static class MotorMountInfo {\r
@@ -110,7 +110,7 @@ public class Configurations extends ExpandableListFragment {
        }\r
 \r
        private void setup() {\r
-               final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                ExpandableListAdapter configurationAdapter = new BaseExpandableListAdapter() {\r
 \r
index a36abbb713ebcf7f51aa4c7ff966a9cb41585296..d3ef50861962f196cc2ee67a2ac6d705b9387fad 100644 (file)
@@ -5,7 +5,7 @@ import java.util.Set;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.aerodynamics.WarningSet;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.thrustcurve.TCMissingMotorDownloadAction;\r
 import net.sf.openrocket.android.thrustcurve.TCQueryAction;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
@@ -47,7 +47,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
        }\r
 \r
        private void loadOrkFile( Uri file ) {\r
-               ((Application)getApplication()).setFileUri( file );\r
+               CurrentRocketHolder.getCurrentRocket().setFileUri( file );\r
                AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file);\r
                String path = file.getPath();\r
                File orkFile = new File(path);\r
@@ -77,15 +77,15 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
                        dialogBuilder.create().show();\r
 \r
                } else {\r
-                       ((Application)OpenRocketLoaderActivity.this.getApplication()).setRocketDocument( result.rocket );\r
-                       ((Application)OpenRocketLoaderActivity.this.getApplication()).setWarnings( result.warnings );\r
+                       CurrentRocketHolder.getCurrentRocket().setRocketDocument( result.rocket );\r
+                       CurrentRocketHolder.getCurrentRocket().setWarnings( result.warnings );\r
 \r
                        updateMissingMotors();\r
                }\r
        }\r
 \r
        private void updateMissingMotors() {\r
-               Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
+               Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket();\r
                Set<ThrustCurveMotorPlaceholder> missingMotors = MissingMotorHelpers.findMissingMotors(rocket);\r
 \r
                if ( missingMotors.size() > 0 ) {\r
@@ -103,8 +103,8 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
        @Override\r
        public void onTCQueryComplete(String message) {\r
 \r
-               Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
-               WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings();\r
+               Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket();\r
+               WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings();\r
                // Need to update the motor references.\r
                MissingMotorHelpers.updateMissingMotors(rocket, warnings);\r
 \r
@@ -112,7 +112,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
        }\r
 \r
        private void displayWarningDialog() {\r
-               WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings();\r
+               WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings();\r
                if (warnings == null || warnings.isEmpty()) {\r
                } else {\r
                        DialogFragment newFragment = WarningDialogFragment.newInstance();\r
@@ -124,7 +124,7 @@ implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnO
        }\r
 \r
        public void doFixMissingMotors() {\r
-               Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
+               Rocket rocket = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket();\r
                Set<ThrustCurveMotorPlaceholder> missingMotors = MissingMotorHelpers.findMissingMotors(rocket);\r
 \r
                TCMissingMotorDownloadAction motorfrag = TCMissingMotorDownloadAction.newInstance( missingMotors );\r
index a0de21bfbc0dfde30dd4d6c2564a069611d98f2b..98c379e721886bbe0e8103df40427ac0e0941344 100644 (file)
@@ -5,7 +5,7 @@ import java.io.IOException;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.ActivityHelpers;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.simulation.SimulationChart;\r
 import net.sf.openrocket.android.simulation.SimulationViewActivity;\r
 import net.sf.openrocket.android.simulation.SimulationViewFragment;\r
@@ -30,8 +30,6 @@ public class OpenRocketViewer extends SherlockFragmentActivity
 implements Simulations.OnSimulationSelectedListener\r
 {\r
 \r
-       private Application app;\r
-\r
        private final static int OVERVIEW_POS = 0;\r
        private final static int COMPONENT_POS = 1;\r
        private final static int SIMS_POS = 2;\r
@@ -44,9 +42,7 @@ implements Simulations.OnSimulationSelectedListener
        protected void onCreate(Bundle savedInstanceState) {\r
                super.onCreate(savedInstanceState);\r
 \r
-               app = (Application) this.getApplication();\r
-\r
-               setTitle(app.getRocketDocument().getRocket().getName());\r
+               setTitle(CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket().getName());\r
                getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r
 \r
                setContentView(R.layout.openrocketviewer);\r
@@ -54,12 +50,12 @@ implements Simulations.OnSimulationSelectedListener
                viewPagerAdapter = new OpenRocketViewerPagerAdapter( this.getSupportFragmentManager() );\r
                viewPager.setAdapter( viewPagerAdapter );\r
 \r
-               app.setHandler( new RocketChangedEventHandler( ) );\r
+               CurrentRocketHolder.getCurrentRocket().setHandler( new RocketChangedEventHandler( ) );\r
        }\r
 \r
        @Override\r
        protected void onPause() {\r
-               app.setHandler(null);\r
+               CurrentRocketHolder.getCurrentRocket().setHandler(null);\r
                super.onPause();\r
        }\r
 \r
@@ -77,7 +73,7 @@ implements Simulations.OnSimulationSelectedListener
                case R.id.menu_save:\r
                        // FIXME - Probably want to open a dialog here.\r
                        try {\r
-                               ((Application)getApplication()).saveOpenRocketDocument();\r
+                               CurrentRocketHolder.getCurrentRocket().saveOpenRocketDocument();\r
                        } catch ( IOException iex ) {\r
                                AndroidLogWrapper.d(OpenRocketViewer.class, iex.getMessage());\r
                        }\r
@@ -101,7 +97,7 @@ implements Simulations.OnSimulationSelectedListener
        @Override\r
        public void onSimulationSelected(int simulationId) {\r
 \r
-               Simulation sim = app.getRocketDocument().getSimulation(simulationId);\r
+               Simulation sim = CurrentRocketHolder.getCurrentRocket().getRocketDocument().getSimulation(simulationId);\r
                // Check if there is data for this simulation.\r
                if ( sim.getSimulatedData() == null || sim.getSimulatedData().getBranchCount() == 0 ) {\r
                        AlertDialog.Builder builder = new AlertDialog.Builder(this);\r
index 88c71868b0c7d2dd224b081fdf1edf0d4a63c1de..e4c226fd997d88c8035e7c74e9b3e01c89fa3557 100644 (file)
@@ -5,7 +5,7 @@ import net.sf.openrocket.aerodynamics.AerodynamicCalculator;
 import net.sf.openrocket.aerodynamics.BarrowmanCalculator;\r
 import net.sf.openrocket.aerodynamics.FlightConditions;\r
 import net.sf.openrocket.aerodynamics.WarningSet;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.masscalc.BasicMassCalculator;\r
@@ -75,7 +75,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        }\r
 \r
        private void setup() {\r
-               final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
                Rocket rocket = rocketDocument.getRocket();\r
 \r
                // Find the index of the default configuration so we can preselect it.\r
index 593e2cdef82b6423072a6f760ea01b29b44b3700..bb28281d72ace59d4bdd593e24a4a312248bdffe 100644 (file)
@@ -2,7 +2,7 @@
 package net.sf.openrocket.android.rocket;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
 import net.sf.openrocket.simulation.SimulationOptions;\r
@@ -73,7 +73,7 @@ public class SimulationEditFragment extends SherlockDialogFragment {
 \r
                motorSpinner = (MotorConfigSpinner) v.findViewById(R.id.simulationConditionConfigurationSpinner);\r
 \r
-               OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                motorSpinner.createAdapter(rocketDocument.getRocket());\r
 \r
@@ -99,7 +99,7 @@ public class SimulationEditFragment extends SherlockDialogFragment {
        }\r
 \r
        public void onDelete( ) {\r
-               ((Application)getActivity().getApplication()).deleteSimulation(simulationId);\r
+               CurrentRocketHolder.getCurrentRocket().deleteSimulation(simulationId);\r
                getDialog().dismiss();\r
        }\r
        \r
index 79a9a5f660e37319d0eef1d75bc08143c3ad257e..019accdd8968e00bfb92174dbd6715a50b467e5e 100644 (file)
@@ -1,7 +1,7 @@
 package net.sf.openrocket.android.rocket;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
@@ -112,7 +112,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        }\r
        \r
        private void setup() {\r
-               final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
                AndroidLogWrapper.d(Simulations.class,"activity = {0}", this.getActivity());\r
 \r
                ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this.getActivity(),android.R.layout.simple_list_item_2,rocketDocument.getSimulations()) {\r
@@ -169,7 +169,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        }\r
 \r
        private void addSimulation() {\r
-               ((Application)getActivity().getApplication()).addNewSimulation();\r
+               CurrentRocketHolder.getCurrentRocket().addNewSimulation();\r
        }\r
        \r
 }\r
index bab2cc916170a096e78333e90da253f511230ac8..07ca6247b92b8bfeca0739ec29f26a248bc78d97 100644 (file)
@@ -2,7 +2,7 @@ package net.sf.openrocket.android.rocket;
 \r
 import net.sf.openrocket.aerodynamics.Warning;\r
 import net.sf.openrocket.aerodynamics.WarningSet;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import android.app.AlertDialog;\r
 import android.app.Dialog;\r
 import android.content.DialogInterface;\r
@@ -24,7 +24,7 @@ public class WarningDialogFragment extends DialogFragment {
                AlertDialog.Builder builder =  new AlertDialog.Builder(getActivity());\r
                //                      .setIcon(android.R.drawable.alert_dialog_icon)\r
                builder.setTitle("Warnings");\r
-               WarningSet warnings = ((Application)(getActivity().getApplication())).getWarnings();\r
+               WarningSet warnings = CurrentRocketHolder.getCurrentRocket().getWarnings();\r
                StringBuilder message = new StringBuilder();\r
                for ( Warning w : warnings ) {\r
                        message.append(w.toString()).append("\n");\r
index 5cbae80a581f886c054a2e426fc3720b7c518539..8fc0d1ba9e1b97d000931ef8e7188cc95d152122 100644 (file)
@@ -3,7 +3,7 @@ package net.sf.openrocket.android.simulation;
 import java.util.List;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.simulation.FlightDataBranch;\r
 import net.sf.openrocket.simulation.FlightDataType;\r
@@ -37,7 +37,7 @@ public class SimulationEventsDialog extends DialogFragment {
                eventList = (TableLayout) v.findViewById(R.id.simulationEventsList);\r
                eventList.setColumnShrinkable(0, true);\r
 \r
-               final OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                List<FlightEvent> events = chart.getFlightDataBranch(rocketDocument).getEvents();\r
                \r
index f3622c534ed145fb52dd1066e3073a789106735b..8d2c3c2f0105e0437016eb70efdf4f781e8c011a 100644 (file)
@@ -4,10 +4,9 @@ import java.util.ArrayList;
 import java.util.List;\r
 \r
 import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.simulation.FlightDataType;\r
-import android.content.DialogInterface;\r
 import android.os.Bundle;\r
 import android.support.v4.app.DialogFragment;\r
 import android.view.LayoutInflater;\r
@@ -59,7 +58,7 @@ public class SimulationSeriesDialog extends DialogFragment {
 \r
                View v = inflater.inflate(R.layout.simulation_series_dialog, container, false);\r
                \r
-               OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                Button okButton = (Button) v.findViewById(R.id.simulationOkButton);\r
                okButton.setOnClickListener( new View.OnClickListener() {\r
index 60b0b7bf313ccdae82f9ff471555eefeb39274b4..1c17c6a0d599dbac11decbd28fa4230437ab45d8 100644 (file)
@@ -2,7 +2,7 @@ package net.sf.openrocket.android.simulation;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.ActivityHelpers;\r
-import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
 import android.os.Bundle;\r
@@ -23,7 +23,7 @@ public class SimulationViewActivity extends FragmentActivity {
                //setContentView(R.layout.simulation_graph_activity);\r
                int simulationNumber = getIntent().getIntExtra("Simulation", 0);\r
 \r
-               final OpenRocketDocument rocketDocument = ((Application)getApplication()).getRocketDocument();\r
+               final OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                Simulation sim = rocketDocument.getSimulation(simulationNumber);\r
 \r
index 212c0b44d46941601c6731406eaa065a1d40cf78..655b154efcffaaaf2fa5fd70830cc2319ee4d096 100644 (file)
@@ -3,6 +3,7 @@ package net.sf.openrocket.android.simulation;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.CurrentRocketHolder;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 \r
 import org.achartengine.GraphicalView;\r
@@ -41,7 +42,7 @@ public class SimulationViewFragment extends Fragment implements SimulationSeries
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\r
                setRetainInstance(true);\r
                setHasOptionsMenu(true);\r
-               OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                this.container = container;\r
                if (savedInstanceState != null ) {\r
@@ -77,7 +78,7 @@ public class SimulationViewFragment extends Fragment implements SimulationSeries
 \r
        @Override\r
        public void onConfirm() {\r
-               OpenRocketDocument rocketDocument = ((Application)getActivity().getApplication()).getRocketDocument();\r
+               OpenRocketDocument rocketDocument = CurrentRocketHolder.getCurrentRocket().getRocketDocument();\r
 \r
                mChart = chart.buildChart(rocketDocument);\r
                ViewGroup parent = (ViewGroup) mView.getParent();\r