55543eb5259662000b5e3d0e7520df1840ddbfc4
[debian/openrocket] / android / src / net / sf / openrocket / android / events / ChangeEventBroadcastReceiver.java
1 package net.sf.openrocket.android.events;\r
2 \r
3 import android.content.BroadcastReceiver;\r
4 import android.content.Context;\r
5 import android.content.Intent;\r
6 import android.content.IntentFilter;\r
7 import android.support.v4.content.LocalBroadcastManager;\r
8 \r
9 public abstract class ChangeEventBroadcastReceiver extends BroadcastReceiver {\r
10 \r
11         public void register( Context context ) {\r
12                 LocalBroadcastManager.getInstance(context).registerReceiver( this, \r
13                                 new IntentFilter(Events.MESSAGE_ACTION) );\r
14         }\r
15         \r
16         public void unregister( Context context ) {\r
17                 LocalBroadcastManager.getInstance(context).unregisterReceiver(this);\r
18         }\r
19 \r
20         @Override\r
21         public void onReceive(Context context, Intent intent) {\r
22                 \r
23                 int type = intent.getIntExtra(Events.TYPE, -1);\r
24                 switch( type ) {\r
25                 case Events.CONFIGS_CHANGED:\r
26                         doMotorConfigsChanged();\r
27                         break;\r
28                 case Events.SIMS_CHANGED:\r
29                         doSimsChanged();\r
30                         break;\r
31                 case Events.SIM_COMPLETE:\r
32                         doSimComplete();\r
33                         break;\r
34                 }\r
35         }\r
36 \r
37         protected abstract void doSimComplete();\r
38 \r
39         protected abstract void doSimsChanged();\r
40         \r
41         protected abstract void doMotorConfigsChanged();\r
42 \r
43 }\r