99bc1e8b9ec82d33771c76f90f5d3362d92b86e4
[debian/openrocket] / android / src / net / sf / openrocket / android / RocketChangedEventHandler.java
1 package net.sf.openrocket.android;\r
2 \r
3 import android.os.Handler;\r
4 import android.os.Looper;\r
5 import android.os.Message;\r
6 \r
7 public abstract class RocketChangedEventHandler extends Handler {\r
8 \r
9         public RocketChangedEventHandler() {\r
10         }\r
11 \r
12         public RocketChangedEventHandler(Callback callback) {\r
13                 super(callback);\r
14         }\r
15 \r
16         public RocketChangedEventHandler(Looper looper) {\r
17                 super(looper);\r
18         }\r
19 \r
20         public RocketChangedEventHandler(Looper looper, Callback callback) {\r
21                 super(looper, callback);\r
22         }\r
23 \r
24         public static final int MOTOR_CONFIGS_CHANGED = 1;\r
25         public static final int SIMS_CHANGED = 2;\r
26 \r
27         public void simsChangedMessage() {\r
28                 Message m = this.obtainMessage(SIMS_CHANGED);\r
29                 this.dispatchMessage(m);\r
30         }\r
31         \r
32         public void configsChangedMessage() {\r
33                 Message m = this.obtainMessage(MOTOR_CONFIGS_CHANGED);\r
34                 this.dispatchMessage(m);\r
35         }\r
36 \r
37         @Override\r
38         public void handleMessage(Message msg) {\r
39                 int what = msg.what;\r
40                 switch ( what ) {\r
41                 case SIMS_CHANGED:\r
42                         doSimsChanged();\r
43                         break;\r
44                 case MOTOR_CONFIGS_CHANGED:\r
45                         doMotorConfigsChanged();\r
46                         break;\r
47                 default:\r
48                         super.handleMessage(msg);\r
49                 }\r
50         }\r
51 \r
52         protected abstract void doSimsChanged();\r
53         \r
54         protected abstract void doMotorConfigsChanged();\r
55 \r
56 }\r