1 package com.td.broadcast;
\r
3 import java.util.Calendar;
\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
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
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
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
31 else if (action.equals(START_SERVICE)){
\r
34 else if (action.equals(STOP_SERVICE)){
\r
37 else if (action.equals(UPDATE)){
\r
40 else if (action.equals(DELAY)){
\r
41 EditPrefUtil pref = new EditPrefUtil(context);
\r
42 updateDelay(intent, pref);
\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
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
54 public void updateDelay(Intent intent, EditPrefUtil pref){
\r
55 Calendar cal = Calendar.getInstance();
\r
56 long t = cal.getTimeInMillis();
\r
58 updateDelay(intent, pref, t);
\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
68 long id = intent.getLongExtra("ID", -1);
\r
69 map.put(String.valueOf(id), String.valueOf(t));
\r
71 data = map.getData();
\r
72 pref.put(TrainDelayedActivity.PREF_TRD_DELAY, data);
\r