Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / android / src / net / sf / openrocket / android / rocket / OpenRocketViewer.java
index 5274912e6461e225c7bba8316db1464057ee5069..635d5264349e02e4f0b3190fa94820bdd448d30b 100644 (file)
@@ -4,6 +4,7 @@ package net.sf.openrocket.android.rocket;
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.ActivityHelpers;\r
 import net.sf.openrocket.android.CurrentRocketHolder;\r
+import net.sf.openrocket.android.events.ChangeEventBroadcastReceiver;\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
@@ -47,6 +48,9 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
        private boolean loadAfterSave = false;\r
        private String autoSaveEnabledKey;\r
        private boolean autoSaveEnabled = false;\r
+       \r
+       private RocketChangedEventHandler handler = new RocketChangedEventHandler();\r
+\r
 \r
        @Override\r
        protected void onCreate(Bundle savedInstanceState) {\r
@@ -80,7 +84,7 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
 \r
        @Override\r
        protected void onPause() {\r
-               CurrentRocketHolder.getCurrentRocket().setHandler(null);\r
+               handler.unregister(this);\r
                SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
                pref.unregisterOnSharedPreferenceChangeListener(this);\r
                super.onPause();\r
@@ -95,8 +99,7 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
 \r
                pref.registerOnSharedPreferenceChangeListener(this);\r
 \r
-               RocketChangedEventHandler handler = new RocketChangedEventHandler();\r
-               CurrentRocketHolder.getCurrentRocket().setHandler(handler);\r
+               handler.register(this);\r
                super.onResume();\r
        }\r
 \r
@@ -220,11 +223,11 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
                }\r
        }\r
 \r
-       private class RocketChangedEventHandler extends net.sf.openrocket.android.RocketChangedEventHandler {\r
+       private class RocketChangedEventHandler extends ChangeEventBroadcastReceiver {\r
 \r
                @Override\r
                protected void doSimComplete() {\r
-                       if ( autoSaveEnabled ) {\r
+                       if ( autoSaveEnabled && CurrentRocketHolder.getCurrentRocket().canSave() ) {\r
                                Toast.makeText(OpenRocketViewer.this, R.string.autoSaveMessage, Toast.LENGTH_SHORT).show();\r
                                OpenRocketViewer.this.saveRocketDocument();\r
                        }\r