OSDN Git Service

UI.java削除
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / HistoryActivity.java
1 package com.td;\r
2 \r
3 import java.util.Calendar;\r
4 import java.util.Date;\r
5 import java.util.List;\r
6 \r
7 import org.afree.chart.AFreeChart;\r
8 import org.afree.chart.ChartFactory;\r
9 import org.afree.chart.plot.PlotOrientation;\r
10 import org.afree.data.category.DefaultCategoryDataset;\r
11 \r
12 import android.content.Context;\r
13 import android.content.Intent;\r
14 import android.os.Bundle;\r
15 import android.view.View;\r
16 import android.view.View.OnClickListener;\r
17 import android.widget.Button;\r
18 import android.widget.TextView;\r
19 \r
20 import com.td.db.History;\r
21 import com.td.db.HistoryDao;\r
22 import com.td.utility.BaseActivity;\r
23 import com.td.utility.DateUtil;\r
24 import com.td.utility.Debug;\r
25 import com.td.utility.EditPrefUtil;\r
26 \r
27 public class HistoryActivity extends BaseActivity {\r
28         public static final String PREF_HIS_YEAR = "HIS_YEAR";\r
29         public static final String PREF_HIS_MONTH = "HIS_MONTH";\r
30         public static final String PREF_HIS_DAY = "HIS_DAY";\r
31         public static final String PREF_HIS_YMD_POS = "HIS_YMD_POS";\r
32 \r
33         public static final String PREF_HIS_ST_HOUR = "HIS_ST_HOUR";\r
34         public static final String PREF_HIS_ST_MINUTE = "HIS_ST_MINUTE";\r
35         public static final String PREF_HIS_EN_HOUR = "HIS_EN_HOUR";\r
36         public static final String PREF_HIS_EN_MINUTE = "HIS_EN_MINUTE";\r
37 \r
38         public static final String PREF_HIS_UNIT = "HIS_UNIT";\r
39 \r
40         public static final int[] unit = { 10, 30, 60 };\r
41 \r
42         private TextView textView1;\r
43         private EditPrefUtil pref = new EditPrefUtil(this);\r
44 \r
45         private int prefYear;\r
46         private int prefMonth;\r
47         private int prefDay;\r
48         private int prefYmdPos;\r
49         private int prefUnit;\r
50 \r
51         private int prefStHour;\r
52         private int prefStMinute;\r
53         private int prefEnHour;\r
54         private int prefEnMinute;\r
55 \r
56         private Date currentDate;\r
57 \r
58         @Override\r
59         public void onCreate(Bundle savedInstanceState) {\r
60                 super.onCreate(savedInstanceState);\r
61                 setContentView(R.layout.history);\r
62 \r
63                 try {\r
64                         Button button1 = (Button) findViewById(R.id.button11);\r
65                         button1.setOnClickListener(new OnClickListener() {\r
66                                 public void onClick(View view) {\r
67                                         Intent intent = new Intent(HistoryActivity.this,\r
68                                                         (Class<?>) HistoryConfActivity.class);\r
69                                         startActivityForResult(intent, -1);\r
70                                 }\r
71                         });\r
72 \r
73                         Button button2 = (Button) findViewById(R.id.button12);\r
74                         button2.setOnClickListener(new OnClickListener() {\r
75                                 public void onClick(View view) {\r
76                                         HistoryActivity.this.finish();\r
77                                 }\r
78                         });\r
79 \r
80                         textView1 = (TextView) findViewById(R.id.textView11);\r
81                         \r
82 //                      HistoryDao dao = HistoryDao.getInstance();\r
83 //                      // List<History> list = dao.search(this);\r
84 //                      Calendar cal = Calendar.getInstance();\r
85 //                      Date date = cal.getTime();\r
86 //                      int ymd = DateUtil.getYmd(date);\r
87 //                      List<History> list = dao.search(this, ymd, DateUtil.HM_MIN,\r
88 //                                      DateUtil.HM_MAX);\r
89 //\r
90 //                      DefaultCategoryDataset dataset = new DefaultCategoryDataset();\r
91 //                      for (History history : list) {\r
92 //                              int period = history.getPeriod();\r
93 //                              double val = 0;\r
94 //                              if (period > 0) {\r
95 //                                      // TODO\r
96 //                                      // val = history.getNum() * 60 / period;\r
97 //                                      val = history.getNum();\r
98 //                              }\r
99 //                              int hm = history.getHm();\r
100 //                              String text = (hm / 100) + ":" + (hm % 100);\r
101 //                              String route = "<none>";\r
102 //                              switch (history.getRouteId()) {\r
103 //                              case 1:\r
104 //                                      route = "\8b\9e\95l\93\8c\96k\90ü";\r
105 //                                      break;\r
106 //                              case 2:\r
107 //                                      route = "\93\8c\8aC\93¹\90ü";\r
108 //                                      break;\r
109 //                              case 3:\r
110 //                                      route = "\8b\9e\8b}\90ü";\r
111 //                                      break;\r
112 //                              }\r
113 //                              Debug.d(this, route + " " + text + " " + val);\r
114 //                              dataset.setValue(val, route, text);\r
115 //                      }\r
116 //\r
117 //                      AFreeChart chart = ChartFactory.createLineChart("\82Â\82Ô\82â\82«\97\9a\97ð", "\8e\9e\8d\8f",\r
118 //                                      "\82Â\82Ô\82â\82«\90\94(\89ñ/\8e\9e)", dataset, PlotOrientation.VERTICAL, true,\r
119 //                                      false, false);\r
120 //\r
121 //                      HistoryView spcv = (HistoryView) findViewById(R.id.spcv);\r
122 //                      spcv.setChart(chart);\r
123                 } catch (Exception e) {\r
124                         // TODO\r
125                         Debug.d(this, null, e);\r
126                 }\r
127         }\r
128 \r
129         @Override\r
130         protected void onStart() {\r
131                 super.onStart();\r
132 \r
133                 try {\r
134                         Calendar cal = Calendar.getInstance();\r
135                         Date date = cal.getTime();\r
136                         prefYear = pref.getInt(PREF_HIS_YEAR, date.getYear());\r
137                         prefMonth = pref.getInt(PREF_HIS_MONTH, date.getMonth());\r
138                         prefDay = pref.getInt(PREF_HIS_DAY, date.getDate());\r
139 \r
140                         int H = 3;\r
141                         prefEnHour = pref.getInt(PREF_HIS_EN_HOUR, date.getHours());\r
142                         prefEnMinute = pref.getInt(PREF_HIS_EN_MINUTE, date.getMinutes());\r
143                         cal = Calendar.getInstance();\r
144                         cal.set(Calendar.HOUR_OF_DAY, prefEnHour);\r
145                         cal.set(Calendar.MINUTE, prefEnMinute);\r
146                         date = cal.getTime();\r
147                         cal.add(Calendar.HOUR, -H);\r
148                         Date startDate = cal.getTime();\r
149                         int hour = 0;\r
150                         int minute = 0;\r
151                         if (date.getDate() == startDate.getDate()) {\r
152                                 hour = startDate.getHours();\r
153                                 minute = startDate.getMinutes();\r
154                         }\r
155                         prefStHour = pref.getInt(PREF_HIS_ST_HOUR, hour);\r
156                         prefStMinute = pref.getInt(PREF_HIS_ST_MINUTE, minute);\r
157 \r
158                         int M = 7;\r
159                         prefYmdPos = pref.getInt(PREF_HIS_YMD_POS, M - 1);\r
160 \r
161                         cal.add(Calendar.DATE, -(M - (prefYmdPos + 1)));\r
162                         currentDate = cal.getTime();\r
163 \r
164                         prefUnit = pref.getInt(PREF_HIS_UNIT, 0);\r
165 \r
166                         pref.update();\r
167                         \r
168                         \r
169                         HistoryDao dao = HistoryDao.getInstance();\r
170 //                      // List<History> list = dao.search(this);\r
171 //                      Calendar cal = Calendar.getInstance();\r
172 //                      Date date = cal.getTime();\r
173 //                      int ymd = DateUtil.getYmd(date);\r
174                         // TODO\r
175 //                      int ymd = (1900 + currentDate.getYear()) * 10000\r
176 //                                      + (currentDate.getMonth() + 1) * 100\r
177 //                                      + currentDate.getDate();\r
178 //                      int from = prefStHour * 100 + prefStMinute;\r
179 //                      int to = prefEnHour * 100 + prefEnMinute;\r
180                         int ymd = DateUtil.getYmd(currentDate.getYear(), currentDate.getMonth(), currentDate.getDate());\r
181                         int from = DateUtil.getHm(prefStHour, prefStMinute);\r
182                         int to = DateUtil.getHm(prefEnHour, prefEnMinute);\r
183                         List<History> list = dao.search(this, ymd, from, to);\r
184 \r
185                         DefaultCategoryDataset dataset = new DefaultCategoryDataset();\r
186                         for (History history : list) {\r
187                                 int period = history.getPeriod();\r
188                                 double val = 0;\r
189                                 if (period > 0) {\r
190                                         // TODO\r
191                                         // val = history.getNum() * 60 / period;\r
192                                         val = history.getNum();\r
193                                 }\r
194                                 int hm = history.getHm();\r
195                                 // TODO\r
196                                 //String text = (hm / 100) + ":" + (hm % 100);\r
197                                 String text = DateUtil.formattedDate(hm);\r
198                                 String route = "<none>";\r
199                                 switch (history.getRouteId()) {\r
200                                 case 1:\r
201                                         route = "\8b\9e\95l\93\8c\96k\90ü";\r
202                                         break;\r
203                                 case 2:\r
204                                         route = "\93\8c\8aC\93¹\90ü";\r
205                                         break;\r
206                                 case 3:\r
207                                         route = "\8b\9e\8b}\90ü";\r
208                                         break;\r
209                                 }\r
210                                 Debug.d(this, route + " " + text + " " + val);\r
211                                 dataset.setValue(val, route, text);\r
212                         }\r
213 \r
214                         AFreeChart chart = ChartFactory.createLineChart("\82Â\82Ô\82â\82«\97\9a\97ð", "\8e\9e\8d\8f",\r
215                                         "\82Â\82Ô\82â\82«\90\94(\89ñ/\8e\9e)", dataset, PlotOrientation.VERTICAL, true,\r
216                                         false, false);\r
217 \r
218                         HistoryView spcv = (HistoryView) findViewById(R.id.spcv);\r
219                         spcv.setChart(chart);\r
220                         \r
221                         String text = DateUtil.formattedDate(ymd, from, to);\r
222                         textView1.setText(text);\r
223                         \r
224                 } catch (Exception e) {\r
225                         // TODO\r
226                         Debug.d(this, null, e);\r
227                 }\r
228         }\r
229 \r
230         public static void init(Context context) {\r
231                 EditPrefUtil pref = new EditPrefUtil(context);\r
232 \r
233                 pref.remove(PREF_HIS_YEAR);\r
234                 pref.remove(PREF_HIS_MONTH);\r
235                 pref.remove(PREF_HIS_DAY);\r
236                 pref.remove(PREF_HIS_YMD_POS);\r
237 \r
238                 pref.remove(PREF_HIS_ST_HOUR);\r
239                 pref.remove(PREF_HIS_ST_MINUTE);\r
240                 pref.remove(PREF_HIS_EN_HOUR);\r
241                 pref.remove(PREF_HIS_EN_MINUTE);\r
242 \r
243                 pref.remove(PREF_HIS_UNIT);\r
244 \r
245                 pref.update();\r
246         }\r
247 }\r