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
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
\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
\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
}\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