OSDN Git Service

t25718不具合あり
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / broadcast / DelayReceiver.java
1 package com.td.broadcast;\r
2 \r
3 import java.util.Calendar;\r
4 \r
5 import android.content.BroadcastReceiver;\r
6 import android.content.Context;\r
7 import android.content.Intent;\r
8 import android.os.Bundle;\r
9 import android.widget.Toast;\r
10 \r
11 import com.td.TrainDelayedActivity;\r
12 import com.td.utility.EditPrefUtil;\r
13 import com.td.utility.StatusFlagFactory;\r
14 import com.td.utility.StringMap;\r
15 \r
16 public class DelayReceiver extends BroadcastReceiver {\r
17         public static String DELAY = "com.td.broadcast.DelayReceiver.DELAY";\r
18         public static String DEBUG = "com.td.broadcast.DelayReceiver.DEBUG";\r
19         public static String START_SERVICE = "com.td.broadcast.DelayReceiver.START_SERVICE";\r
20         public static String STOP_SERVICE = "com.td.broadcast.DelayReceiver.STOP_SERVICE";\r
21         public static String UPDATE = "com.td.broadcast.DelayReceiver.UPDATE";\r
22         \r
23         @Override\r
24         public void onReceive(Context context, Intent intent) {\r
25                 Bundle bundle = intent.getExtras();\r
26                 String action = intent.getAction();\r
27                 if (action.equals(DEBUG)){\r
28                         String text = bundle.getString("TEXT");\r
29                         Toast.makeText(context, text, Toast.LENGTH_LONG).show();                        \r
30                 }\r
31                 else if (action.equals(START_SERVICE)){\r
32                         ;\r
33                 }\r
34                 else if (action.equals(STOP_SERVICE)){\r
35                         ;\r
36                 }\r
37                 else if (action.equals(UPDATE)){\r
38                         ;\r
39                 }\r
40                 else if (action.equals(DELAY)){\r
41                         EditPrefUtil pref = new EditPrefUtil(context);\r
42                         updateDelay(intent, pref);\r
43 \r
44                         // \83\81\83C\83\93\89æ\96Ê\95`\89æ\r
45                         Intent updaetIntent = new Intent(DelayReceiver.UPDATE);\r
46                         context.sendBroadcast(updaetIntent);                                            \r
47                 }\r
48                 else if (action.equals(Intent.ACTION_BOOT_COMPLETED)){\r
49                         // \93d\8c¹\83I\83\93\8e\9e\82É\83t\83\89\83O\82ð\83N\83\8a\83A\82·\82é\r
50                         StatusFlagFactory.getInstance().init(context);\r
51                 }\r
52         }\r
53 \r
54         public void updateDelay(Intent intent, EditPrefUtil pref){\r
55                 Calendar cal = Calendar.getInstance();\r
56                 long t = cal.getTimeInMillis();\r
57 \r
58                 updateDelay(intent, pref, t);\r
59         }\r
60         \r
61         public void updateDelay(Intent intent, EditPrefUtil pref, long t){\r
62                 StringMap map = new StringMap();\r
63                 String data = pref.get(TrainDelayedActivity.PREF_TRD_DELAY);\r
64                 if (data != null){\r
65                         map.setData(data);\r
66                 }\r
67                 \r
68                 long id = intent.getLongExtra("ID", -1);\r
69                 map.put(String.valueOf(id), String.valueOf(t));\r
70                 \r
71                 data = map.getData();\r
72                 pref.put(TrainDelayedActivity.PREF_TRD_DELAY, data);\r
73                 pref.update();          \r
74         }\r
75 }\r