public static final int wait=0x7f03000f;\r
}\r
public static final class string {\r
- public static final int add_button=0x7f040030;\r
+ public static final int add_button=0x7f040035;\r
public static final int app_name=0x7f040001;\r
- public static final int cancel_button=0x7f040033;\r
- public static final int comma_msg=0x7f04001d;\r
- public static final int conf_button=0x7f04002f;\r
- public static final int conf_route_msg=0x7f040019;\r
- public static final int conf_time_msg=0x7f04001a;\r
+ public static final int cancel_button=0x7f040038;\r
+ public static final int comma_msg=0x7f040022;\r
+ public static final int conf_button=0x7f040034;\r
+ public static final int conf_edit_msg1_title=0x7f040016;\r
+ public static final int conf_edit_msg2_title=0x7f040017;\r
+ public static final int conf_edit_msg3_title=0x7f040018;\r
+ public static final int conf_route_msg=0x7f04001e;\r
+ public static final int conf_time_msg=0x7f04001f;\r
public static final int conf_title=0x7f040005;\r
public static final int date_title=0x7f040002;\r
- public static final int debug_button=0x7f040028;\r
- public static final int def_button=0x7f04002d;\r
- public static final int delay_conf_button=0x7f040029;\r
- public static final int delete_button=0x7f040032;\r
- public static final int do_service_msg=0x7f04001e;\r
+ public static final int debug_button=0x7f04002d;\r
+ public static final int def_button=0x7f040032;\r
+ public static final int delay_conf_button=0x7f04002e;\r
+ public static final int delete_button=0x7f040037;\r
+ public static final int do_service_msg=0x7f040023;\r
public static final int edit_conf_title=0x7f040014;\r
- public static final int end_rouote_msg=0x7f040020;\r
- public static final int end_service_qmsg=0x7f040016;\r
+ public static final int end_rouote_msg=0x7f040025;\r
+ public static final int end_service_qmsg=0x7f04001b;\r
public static final int end_time_title=0x7f040004;\r
- public static final int exit_button=0x7f04002c;\r
+ public static final int exit_button=0x7f040031;\r
public static final int friday_title=0x7f04000c;\r
public static final int hello=0x7f040000;\r
- public static final int history_button=0x7f040026;\r
+ public static final int history_button=0x7f04002b;\r
public static final int history_tite=0x7f040010;\r
- public static final int init_button=0x7f04002b;\r
- public static final int init_qmsg=0x7f040017;\r
- public static final int keyword_button=0x7f04002a;\r
+ public static final int init_button=0x7f040030;\r
+ public static final int init_qmsg=0x7f04001c;\r
+ public static final int keyword_button=0x7f04002f;\r
public static final int keyword_title=0x7f04000e;\r
+ public static final int list_button=0x7f04003a;\r
+ public static final int list_title=0x7f040015;\r
public static final int monday_title=0x7f040008;\r
- public static final int monitor_button=0x7f040023;\r
- public static final int other_conf_button=0x7f040027;\r
- public static final int return_button=0x7f04002e;\r
- public static final int route_button=0x7f040022;\r
+ public static final int monitor_button=0x7f040028;\r
+ public static final int other_conf_button=0x7f04002c;\r
+ public static final int return_button=0x7f040033;\r
+ public static final int route_button=0x7f040027;\r
public static final int route_title=0x7f04000f;\r
public static final int saturday_title=0x7f04000d;\r
- public static final int start_rouote_msg=0x7f04001f;\r
- public static final int start_service_button=0x7f040024;\r
- public static final int start_service_msg=0x7f04001b;\r
- public static final int start_service_qmsg=0x7f040015;\r
+ public static final int start_rouote_msg=0x7f040024;\r
+ public static final int start_service_button=0x7f040029;\r
+ public static final int start_service_msg=0x7f040020;\r
+ public static final int start_service_qmsg=0x7f04001a;\r
public static final int start_time_title=0x7f040003;\r
- public static final int starting_service_msg=0x7f04001c;\r
- public static final int stop_service_button=0x7f040025;\r
+ public static final int starting_service_msg=0x7f040021;\r
+ public static final int stop_service_button=0x7f04002a;\r
public static final int sunday_title=0x7f040007;\r
public static final int thursday_title=0x7f04000b;\r
public static final int time_title=0x7f040011;\r
public static final int tpm_title=0x7f040012;\r
public static final int tuesday_title=0x7f040009;\r
- public static final int update_button=0x7f040031;\r
- public static final int update_route_button=0x7f040021;\r
- public static final int update_route_msg=0x7f040018;\r
+ public static final int update_button=0x7f040036;\r
+ public static final int update_route_button=0x7f040026;\r
+ public static final int update_route_msg=0x7f04001d;\r
+ public static final int update_route_qmsg=0x7f040019;\r
public static final int warn_dialog_title=0x7f040013;\r
public static final int wednesday_title=0x7f04000a;\r
public static final int week_title=0x7f040006;\r
- public static final int yes_button=0x7f040034;\r
+ public static final int yes_button=0x7f040039;\r
}\r
}\r
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">\r
<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1">\r
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">\r
- <TextView android:text="@+string/date_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ <LinearLayout\r
+ android:layout_height="wrap_content"\r
+ android:background="#999999"\r
+ android:padding="2dip"\r
+ android:layout_width="fill_parent">\r
+ <TextView android:text="@+string/conf_edit_msg1_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ </LinearLayout>\r
<Spinner android:layout_height="wrap_content" android:id="@+id/spinnerb1" android:layout_width="fill_parent"></Spinner>\r
- <TextView android:text="@+string/date_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ <LinearLayout\r
+ android:layout_height="wrap_content"\r
+ android:background="#999999"\r
+ android:padding="2dip"\r
+ android:layout_width="fill_parent">\r
+ <TextView android:text="@+string/conf_edit_msg2_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ </LinearLayout>\r
<Spinner android:layout_height="wrap_content" android:id="@+id/spinnerb2" android:layout_width="fill_parent"></Spinner>\r
- <TextView android:text="@+string/date_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ <LinearLayout\r
+ android:layout_height="wrap_content"\r
+ android:background="#999999"\r
+ android:padding="2dip"\r
+ android:layout_width="fill_parent">\r
+ <TextView android:text="@+string/conf_edit_msg3_title" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+ </LinearLayout>\r
<Spinner android:layout_height="wrap_content" android:id="@+id/spinnerb3" android:layout_width="fill_parent"></Spinner>\r
</LinearLayout>\r
</ScrollView>\r
android:layout_height="fill_parent" />
</HorizontalScrollView>
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1">
- <Button android:text="@+string/conf_button" android:layout_weight="1" android:id="@+id/button11" android:layout_width="fill_parent" android:layout_height="wrap_content" />
+ <Button android:text="@+string/list_button" android:layout_weight="1" android:id="@+id/button11" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:text="@+string/conf_button" android:layout_weight="1" android:id="@+id/button12" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:text="@+string/return_button" android:layout_weight="1" android:id="@+id/button13" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8" ?> \r
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">\r
-<TextView android:text="@+string/keyword_title" android:id="@+id/textView91" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+<TextView android:text="@+string/list_title" android:id="@+id/textView91" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
<Spinner android:layout_height="wrap_content" android:id="@+id/spinner91" android:layout_width="fill_parent"></Spinner>\r
-<TextView android:text="@+string/keyword_title" android:id="@+id/textView92" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
+<TextView android:text="@+string/list_title" android:id="@+id/textView92" android:background="#cccccc" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
<ListView android:id="@+id/listView91" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="fill_parent"></ListView>\r
<LinearLayout android:id="@+id/LinearLayout94" android:layout_width="fill_parent" android:layout_height="wrap_content">\r
<Button android:text="@+string/conf_button" android:id="@+id/button91" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> \r
<string name="tpm_title">数(回/時)</string>
<string name="warn_dialog_title">警告</string>
<string name="edit_conf_title">設定変更</string>
+ <string name="list_title">一覧</string>
+ <string name="conf_edit_msg1_title">Twitterを検索する間隔(間隔が短いとより早く通知が届きますが、電池を消耗します)</string>
+ <string name="conf_edit_msg2_title">遅延を通知するツイート数(この数値を超えると、遅延を通知します)</string>
+ <string name="conf_edit_msg3_title">遅延を通知した後、遅延を通知しない間隔(一度の遅延で複数の通知が送信されることを防ぎます)</string>
+ <string name="update_route_qmsg">路線の情報を更新しますか。監視する路線の情報は、初期化されます</string>
<string name="start_service_qmsg">監視を開始しますか</string>
<string name="end_service_qmsg">監視を停止しますか</string>
<string name="init_qmsg">設定を初期の状態に戻しますか</string>
<string name="delete_button">削除</string>
<string name="cancel_button">取消</string>
<string name="yes_button">はい</string>
+ <string name="list_button">一覧</string>
</resources>
import android.widget.Button;\r
\r
import com.td.utility.BaseActivity;\r
-import com.td.utility.EditPrefUtil;\r
import com.td.wait.InitializeWating;\r
\r
public class ConfActivity extends BaseActivity {\r
- private EditPrefUtil pref = new EditPrefUtil(this);\r
-\r
@Override\r
public void onCreate(Bundle savedInstanceState) {\r
super.onCreate(savedInstanceState);\r
setSpinner(spinner1, LEN, len, "\95ª");\r
\r
int h = ConfUtil.getHeight(pref);\r
- setSpinner(spinner2, H, h, "\89ñ");\r
+ setSpinner(spinner2, H, h, "\89ñ/\95ª");\r
\r
int w = ConfUtil.getWidth(pref);\r
setSpinner(spinner3, W, w, "\95ª");\r
import com.td.utility.EditPrefUtil;\r
\r
public class HistoryActivity extends BaseActivity {\r
- public static final String PREF_HIS_YEAR = "HIS_YEAR";\r
- public static final String PREF_HIS_MONTH = "HIS_MONTH";\r
- public static final String PREF_HIS_DAY = "HIS_DAY";\r
public static final String PREF_HIS_YMD_POS = "HIS_YMD_POS";\r
\r
public static final String PREF_HIS_ST_HOUR = "HIS_ST_HOUR";\r
private HorizontalScrollView scrollView;\r
private HistoryView historyView;\r
\r
- private int prefYear;\r
- private int prefMonth;\r
- private int prefDay;\r
private int prefYmdPos;\r
\r
private int prefStHour;\r
try {\r
Calendar cal = Calendar.getInstance();\r
Date date = cal.getTime();\r
- prefYear = pref.getInt(PREF_HIS_YEAR, date.getYear());\r
- prefMonth = pref.getInt(PREF_HIS_MONTH, date.getMonth());\r
- prefDay = pref.getInt(PREF_HIS_DAY, date.getDate());\r
\r
int H = 3;\r
prefEnHour = pref.getInt(PREF_HIS_EN_HOUR, date.getHours());\r
public static void init(Context context) {\r
EditPrefUtil pref = new EditPrefUtil(context);\r
\r
- pref.remove(PREF_HIS_YEAR);\r
- pref.remove(PREF_HIS_MONTH);\r
- pref.remove(PREF_HIS_DAY);\r
pref.remove(PREF_HIS_YMD_POS);\r
\r
pref.remove(PREF_HIS_ST_HOUR);\r
super.onCreate(savedInstanceState);\r
setContentView(R.layout.history_conf);\r
\r
- int prefYear = pref.getInt(HistoryActivity.PREF_HIS_YEAR);\r
- int prefMonth = pref.getInt(HistoryActivity.PREF_HIS_MONTH);\r
- int prefDay = pref.getInt(HistoryActivity.PREF_HIS_DAY);\r
int prefStHour = pref.getInt(HistoryActivity.PREF_HIS_ST_HOUR);\r
int prefStMinute = pref.getInt(HistoryActivity.PREF_HIS_ST_MINUTE);\r
int prefEnHour = pref.getInt(HistoryActivity.PREF_HIS_EN_HOUR);\r
Date date;\r
\r
cal = Calendar.getInstance();\r
- cal.set(1900 + prefYear, prefMonth, prefDay);\r
date = cal.getTime();\r
Spinner spinner1 = (Spinner) findViewById(R.id.spinner71);\r
spinner1.setOnItemSelectedListener(new OnItemSelectedListener(){\r
import android.widget.Button;\r
import android.widget.ListView;\r
import android.widget.Spinner;\r
+import android.widget.TextView;\r
\r
import com.td.db.History;\r
import com.td.db.HistoryDao;\r
import com.td.db.TrainDao;\r
import com.td.service.TrainTwitterAdapter;\r
import com.td.utility.BaseActivity;\r
+import com.td.utility.DateUtil;\r
import com.td.utility.Debug;\r
import com.td.utility.EditPrefUtil;\r
\r
public class HistoryListActivity extends BaseActivity {\r
+ private TextView textView;\r
private ListView listView;\r
private Spinner spinner;\r
private Button button1;\r
super.onCreate(savedInstanceState);\r
setContentView(R.layout.history_list);\r
\r
+ textView = (TextView) findViewById(R.id.textView91);\r
listView = (ListView) findViewById(R.id.listView91);\r
spinner = (Spinner) findViewById(R.id.spinner91);\r
button1 = (Button) findViewById(R.id.button91);\r
trainList.add(t);\r
t = new Train(TrainTwitterAdapter.ERROR_ID, "\83G\83\89\81[");\r
trainList.add(t);\r
+ t = new Train(TrainTwitterAdapter.DELAY_ID, "\92x\89\84");\r
+ trainList.add(t);\r
}\r
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);\r
for (Train train : trainList){\r
}\r
spinner.setAdapter(adapter);\r
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
- \r
- int n = 0;\r
+ }\r
+ \r
+ @Override\r
+ protected void onStart() {\r
+ super.onStart();\r
+\r
if (trainList.size() > 0){\r
- spinner.setSelection(n);\r
+ // TODO\r
+ // \8f\89\8aú\88Ê\92u\82Í?\r
+ //spinner.setSelection(n);\r
updateList();\r
}\r
- }\r
- \r
+}\r
+\r
private void updateList(){\r
int ymd = pref.getInt(HistoryActivity.PREF_HIS_YMD);\r
int from = pref.getInt(HistoryActivity.PREF_HIS_FROM);\r
int to = pref.getInt(HistoryActivity.PREF_HIS_TO);\r
\r
HistoryDao hisDao = HistoryDao.getInstance();\r
- TrainDao traDao = TrainDao.getInstance();\r
\r
int n = spinner.getSelectedItemPosition();\r
Train train = trainList.get(n);\r
HistoryListViewArrayAdapter adapter = new HistoryListViewArrayAdapter(this,\r
R.layout.history_list_item_1, list);\r
listView.setAdapter(adapter); \r
+ \r
+ String text = DateUtil.formattedDate(ymd, from, to);\r
+ textView.setText(text);\r
+\r
}\r
}\r
import android.view.View;\r
import android.view.ViewGroup;\r
import android.widget.ArrayAdapter;\r
-import android.widget.CheckBox;\r
import android.widget.TextView;\r
\r
import com.td.db.History;\r
import android.widget.TextView;
import com.td.broadcast.DelayReceiver;
+import com.td.db.Keyword;
import com.td.db.Monitor;
import com.td.db.MonitorDao;
import com.td.db.Train;
import com.td.db.TrainDao;
import com.td.service.SchedulerTest;
+import com.td.service.TrainDelayedService;
import com.td.service.TrainDelayedServiceImpl;
import com.td.service.TrainService;
+import com.td.service.TrainTwitterAdapterTest;
import com.td.utility.BaseActivity;
import com.td.utility.Debug;
import com.td.utility.EditPrefUtil;
import com.td.utility.StatusFlag;
import com.td.utility.StatusFlagTest;
-import com.td.wait.InitializeWating;
import com.td.wait.TrainServiceWaiting;
-public class TrainDelayedActivity extends BaseActivity {
+public class TrainDelayedActivity extends BaseActivity implements TrainDelayedService {
private TextView textView1;
private Button button1;
private Button button2;
private Button button6;
private Button button7;
private Button button9;
- private Button buttonf;
private Button buttonz;
private LinearLayout linearLayout1;
private LinearLayout linearLayout2;
button1 = (Button) this.findViewById(R.id.button01);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
- tsSf.setOn();
-
- Intent intent = new Intent(TrainDelayedActivity.this,
- (Class<?>) WaitActivity.class);
- intent.putExtra(WaitActivity.CLASS,
- TrainServiceWaiting.class.getName());
- intent.putExtra(WaitActivity.MESSAGE1,
- getString(R.string.start_rouote_msg));
- intent.putExtra(WaitActivity.MESSAGE2,
- getString(R.string.end_rouote_msg));
- intent.putExtra(WaitActivity.MESSAGE3,
- "");
+ if (isClick){
+ return;
+ }
+ isClick = true;
- WaitActivity.init(TrainDelayedActivity.this);
- startActivityForResult(intent, -1);
+ new AlertDialog.Builder(TrainDelayedActivity.this)
+ .setTitle(getString(R.string.warn_dialog_title))
+ .setMessage(getString(R.string.update_route_qmsg))
+ .setPositiveButton(getString(R.string.yes_button), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+ tsSf.setOn();
+
+ Intent intent = new Intent(TrainDelayedActivity.this,
+ (Class<?>) WaitActivity.class);
+ intent.putExtra(WaitActivity.CLASS,
+ TrainServiceWaiting.class.getName());
+ intent.putExtra(WaitActivity.MESSAGE1,
+ getString(R.string.start_rouote_msg));
+ intent.putExtra(WaitActivity.MESSAGE2,
+ getString(R.string.end_rouote_msg));
+ intent.putExtra(WaitActivity.MESSAGE3,
+ "");
+
+ WaitActivity.init(TrainDelayedActivity.this);
+ startActivityForResult(intent, -1);
+
+ isClick = false;
+ }
+ })
+ .setNegativeButton(getString(R.string.cancel_button), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+ isClick = false;
+ }
+ })
+ .create().show();
}});
button2 = (Button) this.findViewById(R.id.button02);
}
private void debug(){
- int n = 5;
+ int n = 6;
switch (n){
case 1:
case 5:
tsSf.setOff();
break;
+ case 6:
+ TrainTwitterAdapterTest.main(this);
+ break;
default:
break;
}
}
+
+ public Context getContext() {
+ return this;
+ }
+
+ public List<Train> getTrains() {
+ return null;
+ }
+
+ public List<Keyword> getKeywords() {
+ return null;
+ }
+
+ public void notificate(String name) {
+
+ }
}
\ No newline at end of file
\r
public class History {\r
private long id;\r
- private int routeId;\r
+ private long routeId;\r
private int ymd;\r
private int hm;\r
private int week;\r
private int period;\r
- private int num;\r
+ private long num;\r
private int status;\r
\r
- public History(long id, int routeId, int ymd, int hm, int week, int period,\r
- int num, int status) {\r
+ public History(long id, long routeId, int ymd, int hm, int week, int period,\r
+ long num, int status) {\r
this.id = id;\r
this.routeId = routeId;\r
this.ymd = ymd;\r
return id;\r
}\r
\r
- public int getRouteId() {\r
+ public long getRouteId() {\r
return routeId;\r
}\r
\r
return period;\r
}\r
\r
- public int getNum() {\r
+ public long getNum() {\r
return num;\r
}\r
\r
if (cursor.moveToFirst()) {\r
do {\r
int n = 0;\r
- long id = cursor.getInt(n++);\r
- int routeId = cursor.getInt(n++);\r
- int ymd = cursor.getInt(n++);\r
- int hm = cursor.getInt(n++);\r
+ long id = cursor.getLong(n++);\r
+ long routeId = cursor.getLong(n++);\r
+ int ymd = cursor.getInt(n++);\r
+ int hm = cursor.getInt(n++);\r
int week = cursor.getInt(n++);\r
int period = cursor.getInt(n++);\r
- int num = cursor.getInt(n++);\r
+ long num = cursor.getLong(n++);\r
int status = cursor.getInt(n++);\r
\r
// TODO\r
import com.td.db.MonitorDao;\r
import com.td.db.Train;\r
import com.td.db.TrainDao;\r
-import com.td.utility.ConfUtil;\r
import com.td.utility.DateUtil;\r
import com.td.utility.Debug;\r
\r
long now = -1;\r
long next = -1;\r
int n1 = -1;\r
- int n2 = -1;\r
Calendar cal1 = null;\r
Calendar cal2 = null;\r
List<Term>[] list = null;\r
--- /dev/null
+package com.td.service;\r
+\r
+import java.util.List;\r
+\r
+import android.content.Context;\r
+\r
+import com.td.db.Keyword;\r
+import com.td.db.Train;\r
+\r
+public interface TrainDelayedService {\r
+ public Context getContext();\r
+ public List<Train> getTrains();\r
+ public List<Keyword> getKeywords();\r
+ public void notificate(String name);\r
+}\r
package com.td.service;\r
\r
import java.util.Calendar;\r
+import java.util.Date;\r
import java.util.List;\r
\r
import twitter4j.AsyncTwitter;\r
import com.td.utility.EditPrefUtil;\r
import com.td.utility.Util;\r
\r
-public class TrainDelayedServiceImpl extends Service {\r
+public class TrainDelayedServiceImpl extends Service implements TrainDelayedService {\r
public static final String PREF_SVS_STATUS = "SVS_STATUS";\r
public static final String PREF_SVS_DBFLG = "SVS_DBFLG";\r
public static final String START_ACTION = "com.td.START";\r
}\r
scheduler.init();\r
schedule(-1);\r
- \r
- if (Debug.isDebug()){\r
- TrainTwitterAdapter.insert(\r
- TrainDelayedServiceImpl.this,\r
- Calendar.getInstance(),\r
- TrainTwitterAdapter.START_ID, -1, (int)id,\r
- -1);\r
- }\r
} catch (Exception e) {\r
// TODO\r
Debug.t(TrainDelayedServiceImpl.this,\r
alarm.set(AlarmManager.RTC, next, alarmSender);\r
flag = true;\r
\r
+ if (Debug.isDebug()){\r
+ Calendar cal = Calendar.getInstance();\r
+ cal.setTimeInMillis(next);\r
+ Date d = cal.getTime();\r
+ int ymd = DateUtil.getYmd(d);\r
+ int hm = DateUtil.getHm(d);\r
+ \r
+ long val = id * 1000000 * 10000 + ymd * 10000 + hm;\r
+ \r
+ TrainTwitterAdapter.insert(\r
+ TrainDelayedServiceImpl.this,\r
+ Calendar.getInstance(),\r
+ TrainTwitterAdapter.START_ID, -1, val,\r
+ -1);\r
+ }\r
+\r
if (action.compareTo(START_ACTION) == 0) {\r
pref.put(PREF_SVS_STATUS, 2);\r
pref.update();\r
pref.put(TrainDelayedServiceImpl.PREF_SVS_DBFLG, 0);\r
pref.update(); \r
}\r
+\r
+ public TrainDelayedServiceImpl getContext() {\r
+ return this;\r
+ }\r
}\r
public class TrainTwitterAdapter extends TwitterAdapter {\r
public static final long START_ID = Long.MAX_VALUE;\r
public static final long ERROR_ID = START_ID - 1;\r
+ public static final long DELAY_ID = START_ID - 2;\r
\r
- private TrainDelayedServiceImpl context;\r
+ private TrainDelayedService impl;\r
private EditPrefUtil pref;\r
\r
private Calendar cal;\r
\r
- public TrainTwitterAdapter(TrainDelayedServiceImpl context) {\r
- this.context = context;\r
- pref = new EditPrefUtil(context);\r
+ public TrainTwitterAdapter(TrainDelayedService impl) {\r
+ this.impl = impl;\r
+ pref = new EditPrefUtil(impl.getContext());\r
}\r
\r
public void setCalender(Calendar cal) {\r
\r
String query = result.getQuery();\r
long routeId = -1;\r
- List<Train> trains = context.getTrains();\r
+ List<Train> trains = impl.getTrains();\r
if (trains != null) {\r
Train train = null;\r
for (Train t : trains) {\r
}\r
}\r
\r
- private void checkDelay(Train train, Calendar curCal, int count, int len) {\r
+ public boolean checkDelay(Train train, Calendar curCal, int count, int len) {\r
int cntpmi = count / len;\r
int h = ConfUtil.getHeight(pref);\r
- boolean isDelay = true;\r
\r
if (cntpmi < h) {\r
- return;\r
+ return false;\r
}\r
\r
+ boolean isDelay = true;\r
+\r
String data = ConfUtil.getDelay(pref);\r
Delay[] delays = Delay.getInstances(data);\r
Delay newDelay = null;\r
long cur = curCal.getTimeInMillis();\r
if (cur - t < w * 60 * 1000) {\r
// \8dÅ\8cã\82Ì\92x\89\84\82©\82ç\8e\9e\8aÔ\82ª\8co\82Á\82Ä\82¢\82È\82¢(\92x\89\84\82Ì\8e\9e\8aÔ\82Í\8dX\90V\82·\82é)\r
- Debug.t(context, train.getName() + " \8dÅ\8cã\82Ì\92x\89\84\82©\82ç\8e\9e\8aÔ\82ª\8co\82Á\82Ä\82¢\82È\82¢");\r
+ Debug.t(impl.getContext(), train.getName() + " \8dÅ\8cã\82Ì\92x\89\84\82©\82ç\8e\9e\8aÔ\82ª\8co\82Á\82Ä\82¢\82È\82¢");\r
\r
isDelay = false;\r
} else {\r
// \91O\89ñ\82Ì\92x\89\84\82©\82ç\81A\8dÄ\93x\92x\89\84\82ª\94\90¶\r
- Debug.t(context, train.getName() + " \91O\89ñ\82Ì\92x\89\84\82©\82ç\81A\8dÄ\93x\92x\89\84\82ª\94\90¶");\r
+ Debug.t(impl.getContext(), train.getName() + " \91O\89ñ\82Ì\92x\89\84\82©\82ç\81A\8dÄ\93x\92x\89\84\82ª\94\90¶");\r
}\r
Date d = dCal.getTime();\r
delay.setYmd(DateUtil.getYmd(d));\r
int hm = DateUtil.getHm(d);\r
newDelay = new Delay(train.getId(), ymd, hm, 0, true);\r
\r
- Debug.t(context, train.getName() + " \90V\8bK\93o\98^(\92x\89\84\94\90¶)");\r
+ Debug.t(impl.getContext(), train.getName() + " \90V\8bK\93o\98^(\92x\89\84\94\90¶)");\r
+ \r
+ TrainTwitterAdapter.insert(\r
+ impl.getContext(),\r
+ curCal,\r
+ TrainTwitterAdapter.DELAY_ID, -1, (int)train.getId(),\r
+ -1);\r
}\r
//\r
StringBuffer sb = Delay.getData(delays);\r
\r
if (isDelay) {\r
// \81@\92x\89\84\82ð\92Ê\92m\r
- if (context != null) {\r
- context.notificate(train.getName());\r
+ if (impl != null) {\r
+ impl.notificate(train.getName());\r
}\r
}\r
-\r
+ return isDelay;\r
}\r
\r
private boolean filter(String text) {\r
- List<Keyword> keywords = context.getKeywords();\r
+ List<Keyword> keywords = impl.getKeywords();\r
if (keywords == null) {\r
return false;\r
}\r
}\r
\r
private void insert(long routeId, long diff, int count, int status) {\r
- insert(context, cal, routeId, diff, count, status);\r
+ insert(impl.getContext(), cal, routeId, diff, count, status);\r
}\r
\r
public static void insert(Context context, Calendar cal, long routeId,\r
- long diff, int count, int status) {\r
+ long diff, long count, int status) {\r
Date date = cal.getTime();\r
\r
int ymd = DateUtil.getYmd(date);\r
--- /dev/null
+package com.td.service;\r
+\r
+import java.util.Calendar;\r
+\r
+import com.td.db.Train;\r
+import com.td.test.TestException;\r
+import com.td.utility.ConfUtil;\r
+import com.td.utility.DateUtil;\r
+import com.td.utility.Debug;\r
+import com.td.utility.Delay;\r
+import com.td.utility.EditPrefUtil;\r
+\r
+public class TrainTwitterAdapterTest {\r
+ public static void main(TrainDelayedService impl){\r
+ TrainTwitterAdapterTest obj = new TrainTwitterAdapterTest();\r
+ \r
+ Debug.i(obj, "start");\r
+ try {\r
+ test_checkDelay(impl);\r
+ } catch (TestException e) {\r
+ Debug.i(obj, null, e);\r
+ }\r
+ Debug.i(obj, "end"); \r
+ }\r
+ \r
+ /*\r
+ * public void checkDelay(Train train, Calendar curCal, int count, int len) {\r
+ * int h = ConfUtil.getHeight(pref);\r
+ * String data = ConfUtil.getDelay(pref);\r
+ * int w = ConfUtil.getWidth(pref);\r
+ * Delay.setData(sb, newDelay);\r
+ */\r
+ public static void test_checkDelay(TrainDelayedService impl) throws TestException{\r
+ TrainTwitterAdapter adpt = new TrainTwitterAdapter(impl);\r
+ EditPrefUtil pref = new EditPrefUtil(impl.getContext());\r
+ \r
+ Train train = null;\r
+ long id = -1;\r
+ String name = null;\r
+ Calendar cal = null;\r
+ int ymd = -1;\r
+ int hm = -1;\r
+ int count = -1;\r
+ int len = -1;\r
+ int h = -1;\r
+ int w = -1;\r
+ String data = null;\r
+ \r
+ Delay delay;\r
+ \r
+ boolean ret = false;\r
+ String retData = null;\r
+ \r
+ for (int i = 0; i < 1; i++){\r
+ StringBuffer sb = new StringBuffer();\r
+ switch (i){\r
+ case 0:\r
+ id = 1;\r
+ name = "foo";\r
+ cal = DateUtil.getCalendar(ymd, hm);\r
+ count = 10;\r
+ len = 10; \r
+ \r
+ h = 1;\r
+ w = 1;\r
+ \r
+ delay = new Delay(id, ymd, hm, 0, true);\r
+ Delay.setData(sb, delay);\r
+ \r
+ ret = false;\r
+ retData = "";\r
+ break;\r
+ }\r
+ ConfUtil.setHeight(pref, h);\r
+ ConfUtil.setWidth(pref, w);\r
+ data = sb.toString();\r
+ ConfUtil.setDelay(pref, data);\r
+ train = new Train(id, name);\r
+ \r
+ boolean isDelay = adpt.checkDelay(train, cal, count, len);\r
+ if (isDelay != ret){\r
+ throw new TestException();\r
+ }\r
+ \r
+ data = ConfUtil.getDelay(pref);\r
+ if (data.equals(retData)){\r
+ throw new TestException(); \r
+ }\r
+ }\r
+ }\r
+}\r
return new Delay[0];\r
}\r
String[] flds = data.split(DELM);\r
- if ((flds.length % N) != 1){\r
+ if ((flds.length % N) != 0){\r
return new Delay[0]; \r
}\r
\r
import com.td.service.TrainService;\r
\r
public class TrainServiceWaiting extends WatingImpl implements ServiceConnection {\r
- private static final String PREF_TSW_KEY = "KEY";\r
private ITrainService serviceImpl;\r
\r
public void onStart(){\r