--- /dev/null
+package net.sf.openrocket.android.events;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.support.v4.content.LocalBroadcastManager;\r
+\r
+public abstract class ChangeEventBroadcastReceiver extends BroadcastReceiver {\r
+\r
+ public void register( Context context ) {\r
+ LocalBroadcastManager.getInstance(context).registerReceiver( this, \r
+ new IntentFilter(Events.MESSAGE_ACTION) );\r
+ }\r
+ \r
+ public void unregister( Context context ) {\r
+ LocalBroadcastManager.getInstance(context).unregisterReceiver(this);\r
+ }\r
+\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ \r
+ int type = intent.getIntExtra(Events.TYPE, -1);\r
+ switch( type ) {\r
+ case Events.CONFIGS_CHANGED:\r
+ doMotorConfigsChanged();\r
+ doSimsChanged();\r
+ break;\r
+ case Events.SIMS_CHANGED:\r
+ doSimsChanged();\r
+ break;\r
+ case Events.SIM_COMPLETE:\r
+ doSimComplete();\r
+ break;\r
+ }\r
+ }\r
+\r
+ protected abstract void doSimComplete();\r
+\r
+ protected abstract void doSimsChanged();\r
+ \r
+ protected abstract void doMotorConfigsChanged();\r
+\r
+}\r